1

scons 用の SConstruct ファイルがあります。

env = Environment()
env.Append(CPPPATH = ['./'])
env.Append(LIBS = 'kernel32.lib')
env.Append(LIBPATH = 'C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib')

env.SharedLibrary(target='warpLib', source='warplib.cpp')

「kernel32.lib」を含めずに LIBPATH を指定すると、リンク エラーが発生します。私のソリューションは機能しますが、あまり移植性がないように見えます...より優れた、より移植性の高いソリューションは何ですか?

4

3 に答える 3

3

SCons宣言'DefaultEnvironment(ENV = os.environ)'を使用します。

于 2009-11-05T14:45:31.977 に答える
0

標準のコマンド ラインから scons を呼び出すのではなく、すべての環境変数を正しく設定するビジュアル スタジオ コマンド プロンプトを使用します。

于 2009-10-28T07:39:21.663 に答える
0

次の構文を使用することを好みます。これは、私が最終的に Python を使用していることを思い起こさせ、疑似 SCons の等価物よりもネイティブの Python リスト コマンドを使用することを好むからです。さらに、CPPATH、LIBS、LIBPATH などはすべてリストであることを覚えておくのに役立ちます。

env = Environment()
env["CPPPATH"].extend(["."])
env["LIBS"].extend(["kernel32","someotherlib"]) #No need to specify the ".lib". This gives you platform-independance automatically.
env["LIBPATH"].extend(["C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib"])
于 2009-11-07T19:56:25.703 に答える