与msys在Windows上的scons LIBPATH

时间:2010-03-04 13:25:34

标签: c++ scons msys

我正在使用LLVM开发一个C ++项目,我想用scons替换LLVM构建系统(使用autoconf和make)。不幸的是,我现在遇到了一个重大问题。我希望我的项目能够在Linux和Windows上进行编译。要在Windows上编译,我使用mingw / msys,它与autoconf / make系统完美配合。

然而,scons会修改我的库路径并在其前面加上驱动器号,即当我指定/usr/local/lib时,传递给链接器的实际参数是-LD:\usr\local\lib,显然不包含我需要的库。我正在以下列方式设置库路径:

env = Environment(LIBPATH = ['/usr/local/lib', 'build/lib/sample'])

此外env['LIBPATH']仍然包含正确的路径。

有没有办法阻止scons搞乱这条路?

感谢

1 个答案:

答案 0 :(得分:0)

我明白了:

env = Environment(LIBPATH = ['/usr/local/lib'], platform = 'posix')

强制scons初始化posix平台的环境,该平台不会弄乱路径。不幸的是,它无法找到gcc。但这可以通过明确传播外部环境

轻松解决
env = Environment(LIBPATH = ['/usr/local/lib'], platform = 'posix', ENV = os.environ)