0

我正在使用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 弄乱那条路吗?

谢谢

4

1 回答 1

0

我想到了:

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

强制 scons 为不会弄乱路径的 posix 平台初始化环境。不幸的是,它无法找到 gcc。但这可以通过显式传播外部环境轻松解决

env = Environment(LIBPATH = ['/usr/local/lib'], platform = 'posix', ENV = os.environ)
于 2010-03-04T15:10:11.710 回答