問題タブ [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.
visual-c++ - bjam の cxxflags オプションは末尾のマイナス記号を削除しますか?
Visual-C++ コンパイラ オプション/Zc:wchar_t-
(オフにするために末尾のマイナスに注意してください) を bjam に渡そうとしています。ブーストのビルド ツールは次のようになります。
ただし、結果のコンパイラ オプションを含む *.rsp ファイルを確認すると (で)、指定するかどうかに関係なく、...\boost_1_44_0\bin.v2\libs\program_options\build\msvc-8.0\debug\debug-store-database\threading-multi\options_description.obj.rsp
常にオプションとして含まれます。/Zc:wchar_t
-
cxxflags
渡されたオプションから末尾のマイナスを削除する何かがありますか?
/Zc:
はすでに に設定されてtools\build\v2\tools\msvc.jam
いるため、cxxflags で指定すると、オプションが RSP ファイルで 2 回提供されることに注意してください。 msvc.jam の 1 つは逐語的に取得され、マイナスは保持されます。
c++ - boost.buildプロジェクトを特定の静的ライブラリにリンクする方法
プロジェクトにboost.buildを使用しています。もちろん、私はブースト自体を使用します。また、テストの目的で、プロジェクトでgoogle-testライブラリを使用します。プロジェクトをgoogle-testの静的ライブラリにリンクする必要があります。MinGWでそれを行うための回避策を見つけました(Linuxのgccも機能します)
見た目は醜いですが、機能します。msvcのルールははるかに醜いように見えます
boost.buildプロジェクトファイルでターゲットを外部静的ライブラリにリンクするより自然な方法はありますか?
PSグーグルテストとブーストミックスを使用したコースの匂いは良くありませんが、とにかくブーストがカバーしていない領域をカバーする外部ライブラリがたくさんあります。
TIA
c++ - Jamfileのポータブルコンパイルパラメータ
これが私が現在テストを構築するために使用しているJamfileです。
gcc固有でなくてもc++11標準に切り替える方法はありますか?そして、bjamにリンクフラグを与えるポータブルな可能性はありますか(またはこれはポータブルな方法ですか?)?条件付きパラメーターを記述できることは知っていますが、それは、サポートしたいコンパイラーのパラメーターを記述しなければならないことを意味します。したがって、bjamがこれに対する解決策を持っていることを願っています。
さらに、「bjamclean」を呼び出した後に「bin」ディレクトリを削除しないことに意味があるかどうかを知りたいです。
c++ - bcp を使用してブースト スレッドをエクスポートしているときに、ビルド エラーを解決するにはどうすればよいですか?
ブーストbcpツールを使用して、ブーストからスレッドライブラリをエクスポートしています。エクスポートされたライブラリのレイアウトは
ビルド ライブラリでbjamを実行すると、次のようになります。
システムライブラリをエクスポートし、ビルド フォルダーで *bjam を実行すると、正常にコンパイルされます。スレッドライブラリがコンパイルできない理由がわかりません。スレッドライブラリで何が問題になっているのか、誰にも分かりますか?
c++ - 特定の VC++ ランタイムを使用してブーストをコンパイルするにはどうすればよいですか?
ディストリビューション用に一貫した VC++ ランタイムを取得しようとしていますが、boost/bjam を強制的に連携させるものは見つかりません。
このリンクのメソッドを使用して libcurl と UnitTest++ を正常にコンパイルしました。
VC2005 SP1 セキュリティ更新 KB971090 による問題の回避
一般的な戦略は、このヘッダーをすべての cpp ファイルに含めることです。
b2
cxxflags を設定するためのオプションがあり/FI
ますが、ヘッダーを使用して正しいランタイムを強制するコンパイル オプションを尊重していないようです。彼らは何か他のものを使用していると思います。ブーストは msvc フラグを使用していないと思いますか?
具体的にboostをコンパイルしたいと思います8.0.50727.762
。
c++ - boost.build Jamroot でリンカーの依存関係を指定する方法
exec をコンパイルしようとすると、b2 toolset=clang
次のようなリンク コマンドが使用されます。
ブーストの未定義の参照の長いリストで失敗しますが、次の並べ替えられたバージョンは正常にリンクします:
libCDef
onのリンク依存関係を指定している方法は、/boost/date_time//boost_date_time
リンク中に正しい順序を持つにはおそらく十分ではないと思います。
CDef/Jamroot :
CDef が boost_date_time に依存することを指定する必要があるため、リンカーはそのように注文する必要があります。
c++ - ブースト ビルドでのメモリ使用量を減らす
G++ 4.6 を使用して、メモリ リソースが制限された Linux システムで C++ ライブラリを構築しようとしています。ライブラリは Boost を多用しています。
ここや他の Web サイトでコンパイル速度に関するさまざまなスレッドを見てきましたが、G++ のメモリ リソースへの要求を軽減するためのヒントやコツに興味があります。
編集:ブースト用にプリコンパイル済みヘッダーを使用してみました。これにより、ビルド速度のみが向上しますが、それでもほぼ同じ量のメモリが必要です。
filenames - ブースト ビルド: ターゲット ファイル名のドット
ファイル名にドットを含むファイルを生成するターゲットを持つことは可能ですか? 生成するファイル名だけで、ターゲット名には必要ありません。たとえば、
libAuthorization.Plugin.so
それが生成され、他のターゲットから使用できる場合は、まったく問題ありません。
ドットを使用するのは会社の慣習であるため、代わりにアンダースコアを使用することはできません。
1 つのオプションは、 target-like の名前を変更する要件です<name>
。
アプリケーションは ではなく にリンクする必要があるため、単純な名前変更後のビルド ステップも使用できませlibAuthorization.Plugin.so
んlibAuthorization_Plugin.so
。しかし、他の何かが可能であれば、それも使用できます。
ビルド プロセス自体は、gcc を使用して Linux で実行されます。
c++ - ブーストビルドが .tli ファイルを正しく見つけられず、中止される
ブーストビルドを使用して、Excelオートメーションオブジェクトを使用するdllを構築しようとしています。
mso.tlh、vbe6ext.tlh、excel.tlh ファイルを含む .cpp ファイルが 1 つだけあります (適切な .tli ファイルも存在します)。すべてのファイルは、jamfile と一緒に 1 つのディレクトリにあります。
Jamfile では「< include>./」が指定されています。ただし、ビルドしようとすると、jamfile と excel.tli ファイルではなく、Jamroot ファイルがあるディレクトリで Excel.tli ファイルを探しているため、割り込みが発生します。
Jamroot がある場所に、excel.tli を配置すると、ビルドは成功します。
Jamfile があるディレクトリで、excel.tli ファイルを検索するにはどうすればよいですか?
c++ - ブースト ビルドに定義を追加できません
boost buildsystem を使用して、boost serialization/filesystem/system のデバッグ ビルドをビルドしようとしています。これが私が使用するものです:
ただし、デバッグ ビジュアル スタジオ プロジェクトにライブラリを含めると、次のようなエラーが発生します。
これにより、ブーストビルドでの「定義」は何の効果もなかったと信じています。適切な構文は何ですか? 例が見つかりません。ドキュメントには、この問題について他に何も書かれていません。
編集:ブーストビルドで _HAS_ITERATOR_DEBUGGING=0 を定義したいことを強制したいと思います