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

使用msys的windows上的scons LIBPATH 我正在使用C++项目,我想用SCONS替换LLVM构建系统(使用AutoCONF和make)。不幸的是,我现在遇到了一个大问题。我希望我的项目在Linux和Windows上编译。要在Windows上编译,我使用mingw/msys,它与autoconf/make系统完美配合,c++,scons,msys,C++,Scons,Msys,但是,scons修改我的库路径并在其前面加上驱动器号,即当我指定/usr/local/lib时,传递给链接器的实际参数是-LD:\usr\local\lib,它显然不包含我所需的库。我将按以下方式设置库路径: env = Environment(LIBPATH = ['/usr/local/lib', 'build/lib/sample']) 另外env['LIBPATH']仍然包含正确的路径 有没有什么办法可以防止烤饼弄乱这条路 谢谢我想起来了: env = Environment(LIBPA

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

env = Environment(LIBPATH = ['/usr/local/lib', 'build/lib/sample'])
另外
env['LIBPATH']
仍然包含正确的路径

有没有什么办法可以防止烤饼弄乱这条路

谢谢

我想起来了:

env = Environment(LIBPATH = ['/usr/local/lib'], platform = 'posix')
强制SCON初始化posix平台的环境,这不会弄乱路径。不幸的是,它随后未能找到gcc。但这可以通过显式传播外部环境轻松解决

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

也许我说得太早了。虽然这似乎是可行的,但scons现在正在到处打印os.Enviro字典,这是不可接受的。仅传播路径无效,即未找到gcc。此外,尽管CheckLib确实成功,config.log仍然显示使用驱动器号前缀调用链接器…wtf?这让我快发疯了…也许我应该和autoconf呆在一起,让他们叹口气