問題タブ [boost-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - bjamを使用した共有ライブラリの構築と使用
ubuntuでbjamを使用して、c ++共有ライブラリを構築し、実行可能ファイルで使用しようとしています。静的としてリンクされないため、共有としてビルドする必要があります(未定義の参照が多数発生します)。それはいいです。
2つの関連する問題:
1)Jamfilesの階層を使用して、私のexeプロジェクト(testServerHub)は共有ライブラリ(pythonManager)に依存しています。exeのJamfileは次のとおりです。
そして、これが私のlib Jamfileです:
'bjam pythonManager'を実行すると、pythonManager共有ライブラリがビルドされ、プロジェクトのlibフォルダーにコピーされます(最後のインストールコマンドによって)。ただし、「bjam test」を実行すると、testServerHubとpythonManagerの両方がビルドされますが、libpythonManager.soはプロジェクトのlibフォルダーにコピーされません。インストールコマンドは実行されません。
2)さて、一時的な回避策として、最初にlibpythonManager.soをビルドしてから、testServerHub実行可能ファイルをビルドします。コンパイルとリンクの両方。実行時に、実行可能ファイルはlibpythonManager.soを見つけることができないことについて文句を言います。ランタイムリンカーは私のプロジェクトのlibフォルダーを知らないので、それほど驚くことではありません。共有ライブラリの特定のディレクトリを検索するように指示するにはどうすればよいですか?または、インストールコマンドが依存ライブラリのビルドに影響を与えない場合、libpythonManager.soを/ usr / local / libにインストールするにはどうすればよいですか?
どうもありがとうございます
Si
linux - Boost::Python: python-extension のビルド時にカスタム引数を gcc に渡す
-Wl,-rpath,\$$ORIGIN/lib/
g++ のリンカー ( reason )に渡す必要があります。この引数を Jamroot ファイルに渡す方法はありますか?
boost - bjamベースのプロジェクトでのboost_filesystemへのリンク
libboost_filesystemを参照する自分のプロジェクト用にBoost.Buildをセットアップしようとしています。
私が走るとき
次の出力が得られます。
これを修正するのに助けていただければ幸いです...
〜/ user-config.jam
〜/ src / libdoas / Jamroot
〜/ src / libdoas / src / lib / Jamfile
〜/ src / libdoas / src / tools / Jamfile
ディレクトリ/home/ andreas / lib / build / boost_1_42_0で、私はすでに次のことを行いました::
何か案は?
c++ - Sunosでブーストをコンパイルする
Boostライブラリの使用を始めたばかりです。私たちのプロジェクトの1つとして、Sunコンパイラを使用してSunOSでBoost1.39.0をコンパイルしたいと思います。ただし、http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.htmlに記載されている手順を使用してコンパイルすると、すべてのターゲットがコンパイルされるわけではありません。誰かがSunosでコンパイルするのに役立つリソースを提供できますか?SunOSでコンパイルするための個別の手順はありますか
bjam - bjamで新しいバリアントを作成する方法
私はドキュメントを読んでみましたが、それはかなり不可解なので、誰かが簡単な答えを持っていることを願っています。'debug'に基づいて、新しい'variant'を定義したいと思います。これは、コンパイラのコマンドラインにいくつかのマクロ定義を追加するだけです(例: "-DSOMEMACRO")。私はこれをデバッグの「サブバリアント」として実行できるかもしれないと思います。あるいは、「デバッグ」をコピーする新しいバリアントを定義するだけかもしれませんが、これをどこで実行するかさえわかりません。$ BOOST_BUILD_DIR/buildのfeature.jamがその場所である可能性があります。おそらく私が本当に望んでいるのは単に新しい「機能」ですが、何をどこで行う必要があるのかはまだはっきりしていません。また、「機能」によってビルド製品を別のディレクトリに転送できるかどうかもわかりません。 'debug'ビルドに。
任意の提案をいただければ幸いです。(ご参考までに、企業標準として採用されているbjamを使用する必要があります。)
c++ - ブーストライブラリの命名を解読するにはどうすればよいですか?
ブーストライブラリ名でその意味を見つけようとしgd
ましたが、同じものを探している人が他に2人しか見つかりませんでした.
これが明確に文書化されている場所であるべきだと思います。それを見つけたいと思います。
mt
- マルチスレッド、で入手bjam threading=multi
s
-bjam runtime-link=static
g
- 標準およびランタイム サポート ライブラリのデバッグ バージョンを使用します。何のbjamスイッチ???d
- デバッグbjam variant=debug
アップデート
bjam
上記のバリアントを制御するスイッチを制御するにはどうすればよいですか? 実際、私が特定できなかったのはg
.
bjam - bjamを使用してアウトオブソースビルドを実行することは可能ですか?
クォータの制限により、すべての一時ファイルを使用して作業しているプロジェクトをビルドし、別のディレクトリ(私の場合/tmp/somewhere
)に製品をビルドする必要があります。
私はCMakeでこれを行うことに慣れていますがbjam
、もしそうなら、どのように可能ですか?
bjam - bjam glob '除外パターン' の質問
ドキュメントによると、bjam の glob 演算子は、次のように、除外するパターンを指定する 2 番目の引数を受け入れます。
ただし、bjam は 2 番目の引数について不平を言うエラーを表示します。私の bjam のバージョンが古すぎるのかもしれません。この「除外」機能が追加されたバージョンを知っている人はいますか? 私は3.1.17を使用しています。
boost - cxxflags = -O2を使用するようにブーストリリースバリアントを変更するにはどうすればよいですか?
私のマシンでは、variant=releaseのcxxflagsはデフォルトで-O3です。
-O2に変更する必要があります。進め方を教えてください。
誰かが私にそれについてアドバイスすることができれば、私は新しいバリアントを定義することにも問題はありません。
boost-build - ライブラリのデバッグ バリアントとリリース バリアントを同じコマンドでインストールすることは可能ですか?
次の Jamfile を使用しています (ディレクトリ /home/morpheus/base/CDef 内):
lib CDef : [グロブ *.cpp] : static ;
install libCDef : CDef : LIB "/home/morpheus/base_install/lib" : release ;
install _libCDef_D : CDef : LIB "/home/morpheus/base_install/libdebug" : debug ;
2 つのインストール行をデバッグ ディレクティブとリリース ディレクティブの両方を持つ行に変更できるかどうか疑問に思っていました。
また、別のディレクトリ ( /home/morpheus/FSLR ) の別の Jamfile でライブラリを使用するために、次の Jamfile を使用して exe callFSLR をビルドしています。
lib CDef : : CDef を解放 /home/morpheus/base_install/lib ; lib CDef :: debug CDef /home/morpheus/base_install/libdebug ;
exe callFSLR : call_FSLR.cpp CDef:: デバッグ リリース;
install install-bin をインストールします: callFSLR : "/home/morpheus/base_install/bin" release ;
Jamfile /home/morpheus/base/CDef/Jamfile 内の CDef を参照するために「use-project」を使用することは、おそらく推奨できると思いますか?