我试图在Windows上从源代码编译和构建NVDA。源代码使用boost头并使用scon进行编译。我在C:\Program Files (x86)\boost\boost_1_47
scons出现以下错误:
buffer.cpp
include\minhook\src\buffer.cpp(32) : fatal error C1083: Cannot open include file: 'boost/foreach.hpp': No such file or directory
scons: *** [nvdaHelper\build\x86\minHook\_minHook_buffer.cpp.obj] Error 2
scons: building terminated because of errors.`
由于我的系统上的PATH
变量包含boost的路径,而scons无法找到boost标头,因此我在sconstruct文件的ENV
对象的构造中添加了env
env = Environment(variables=vars,tools=["textfile","gettext","t2t",keyCommandsDocTool,'doxygen'],ENV = {'PATH': os.environ['PATH']})
打印env['ENV']['PATH']
确认已添加路径,但我仍然遇到相同的错误。我在这里缺少什么?
答案 0 :(得分:1)
这是如何调用编译器的问题,并且与PATH环境变量没有任何关系。
您需要按如下方式设置所谓的Include Paths
:
env = Environment() # construct the env accordingly
env.Append(CPPPATH = 'C:\Program Files (x86)\boost\boost_1_47')
CPPPATH是SCons Construction Variable。您可能需要的其他人是: