【问题标题】:How to tell scons to use MinGW instead of MSVC如何告诉 scons 使用 MinGW 而不是 MSVC
【发布时间】:2012-10-31 15:43:38
【问题描述】:

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

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

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

如何让 scons 改用 MinGW?

【问题讨论】:

    标签: visual-studio compiler-errors mingw zxing scons


    【解决方案1】:

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

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

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

    【讨论】:

    • 对我不起作用。它说 cc = gcc 但是在构建目标时它仍然使用 cl (错误?)
    • 找到它:它应该是 env.Program(...) 而不是 Program(your_code) 参见:stackoverflow.com/questions/21242206/…
    【解决方案2】:

    下面是我在 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 可以是set externally。环境变量PATH应该包含mingw的bin文件夹路径。

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 2023-03-18
      • 2012-10-27
      • 2015-08-16
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多