我正在尝试在 Windows 上构建 zxing 的 C++ 端口,但 scons 失败并报错:
cl : Command line error D8021 : invalid numeric argument '/Wextra'
我同时安装了VS2010和MinGW,但是scons尝试使用MSVC编译器,即使SConscript文件假定使用gcc并使用特定于gcc的参数,这会导致错误。
我该如何告诉scons使用MinGW呢?
我正在尝试在 Windows 上构建 zxing 的 C++ 端口,但 scons 失败并报错:
cl : Command line error D8021 : invalid numeric argument '/Wextra'
我同时安装了VS2010和MinGW,但是scons尝试使用MSVC编译器,即使SConscript文件假定使用gcc并使用特定于gcc的参数,这会导致错误。
我该如何告诉scons使用MinGW呢?
Scons 默认在 Windows 平台上使用 MSVC 编译器。若要使用 Mingw 编译器,请在创建 Environment 对象时使用 tools 参数。
env = Environment(tools = ['mingw'])
然后使用 env.Program() 而不是 Program()。
import os
env = Environment(ENV={'PATH': os.environ['PATH'], 'TEMP': os.environ['TEMP']}, tools=['mingw'])
env.Program('main.cpp')
env.Program
,要么改变默认构建环境而不是创建一个新的。你可以通过调用DefaultEnvironment
而不是Environment
来实现。 - Piotr Siupa