1

Windows でソースからNVDAをコンパイルしてビルドしようとしています。ソース コードはブースト ヘッダーを使用し、コンパイルには 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私のシステムの変数にはブーストへのパスが含まれており、scons はブースト ヘッダーを見つけることができなかったため、sconstruct ファイルにオブジェクトの構築を追加しましENVた。env

env = Environment(variables=vars,tools=["textfile","gettext","t2t",keyCommandsDocTool,'doxygen'],ENV = {'PATH': os.environ['PATH']})

印刷env['ENV']['PATH']すると、パスが追加されたことを確認できますが、それでも同じエラーが発生します。ここで何が欠けていますか?

4

1 に答える 1

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です。おそらく必要になるその他のものは次のとおりです。

  • LIBS - バイナリにリンクする必要があるライブラリ
  • LIBPATH - リンクされるライブラリへのパス
  • CXXFLAGS - コンパイル フラグ
于 2013-09-17T12:04:31.770 に答える