2011-01-14 9 views
1

SConsで指定されたバイナリ/実行可能ディレクトリはどのようになっていますか?SConsバイナリディレクトリ

Program(target = 'bin/helloworld', source = 'src/helloworld.cc') 

このアプローチの問題は、クロスプラットフォームビルドを実行しようとするときです。

これはUnixシステム上での出力はlibhelloworld.aという名前のライブラリです。それが動作しない例は、次のとおりです。

StaticLibrary(target = 'lib/helloworld', source = 'src/helloworldlib.cc') 

こののUnixシステム上の出力は、libディレクトリ内のファイルhelloworld.aです。これは、LIBSが['helloworld']として指定されているときに問題を引き起こします。これは、それを実行するクロスプラットフォームの方法です。

StaticLibrary、SharedLibrary、およびProgramに渡して、バイナリをベースディレクトリ以外のディレクトリに出力するパラメータ名は何ですか?

答えて

1

manualは、ソースディレクトリにバリアントディレクトリとSConscriptファイルを使用することを推奨しています。あなたの例では、srcディレクトリにSConscriptファイルを配置します。

StaticLibrary(target="helloworld", source="helloworldlib.cc") 

とメインSConstructファイルからことを呼び出します。

SConscript("src/SConscript", variant_dir="lib") 
+0

バリアントはこれを制御しません。これは、SCon *ファイルがどこにあるかによって決まります。 – Jonathan