meson 报错“ Failed to detect MSVC compiler target architecture:” 的解决方法

当使用中文版MSVC作为meson的后台编译工具,进行meson setup 时, 会返回如下如下信息:

meson.build:1:0: ERROR: Failed to detect MSVC compiler target architecture: 'cl /?' output is
���� x64 �� Microsoft (R) C/C++ �Ż������� 19.16.27035 ��

此问题的原因在于environment.py 中检测C/C++编译器时的正则表达式以英文版的输出格式进行判断的,在非英文环境中匹配失败。

原文中代码如下,只匹配结尾的 x86、 x64:

                cl_signature = lookat.split('\n')[0]

                match = re.search('.*(x86|x64|ARM|ARM64)$', cl_signature)

我们可以手动修改《python安装路径》\Lib\site-packages\mesonbuild\environment.py 文件,将

 match = re.search('.*(x86|x64|ARM|ARM64)$', cl_signature)

改为: 
 match = re.search('.*(x86|x64|ARM|ARM64)( |$)', cl_signature)

则可以正常识别中文版MSVC。

 

  

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值