13

我正在尝试在 Windows 上构建 zxing 的 C++ 端口,但 scons 失败并显示:

cl : Command line error D8021 : invalid numeric argument '/Wextra'

我同时安装了 VS2010 和 MinGW,并且 scons 尝试使用 MSVC 编译器,即使 SConscript 文件假定 gcc 并使用 gcc 特定参数,这会导致错误。

我如何告诉 scons 改用 MinGW?

4

2 回答 2

15

Scons 在 Windows 上默认使用 MSVC 编译器。在创建 Environment 对象时设置 mignw 编译器使用 tools 参数。

env = Environment(tools = ['mingw'])

然后使用 env.Program() 代替 Program()。

于 2012-10-31T17:43:59.550 回答
1

下面是我在 Windows 上为 mingw 工作的 SConstruct:

import os

env = Environment(ENV={'PATH': os.environ['PATH'], 'TEMP': os.environ['TEMP']}, tools=['mingw'])
env.Program('main.cpp')

Windows 环境变量 PATH 和 TEMP 可以在外部设置。环境变量 PATH 应该包含 mingw 的 bin 文件夹路径。

于 2018-06-01T06:55:13.720 回答