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。

 

  

你可能感兴趣的:(meson 报错“ Failed to detect MSVC compiler target architecture:” 的解决方法)