問題タブ [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.
c++ - Boost.build を使用してライブラリを含める
ライブラリCGNSを参照する c++ コードをコンパイルするために boost.build を使用していますが、boost.build を使用してこれを行うのに問題があります。CGNS は、Linux ビルドの [path]/LINUX など、プラットフォーム用のフォルダーを含むライブラリにコンパイルされます。ライブラリ [path]/LINUX/libcgns.a をビルドに含めたいと思います。これをクロスプラットフォームにしたいので、LINUX ビルドでは LINUX ディレクトリが参照され、WIN ビルドでは WIN ディレクトリが使用されます (これにはプラットフォーム条件があると思います)。
ライブラリ ヘッダー ファイルをインクルードすることはできましたが、ライブラリの条件付きインクルードを行うにはどうすればよいですか? 私の簡単なテスト Jamroot.jam で、main.cpp は CGNS ドキュメントの単なる例です。
また、CGNS ライブラリをバイナリに組み込みたい (静的参照?)
macos - ブースト 1.45 ユニバーサル バイナリをビルドするには?
ブースト 1.45 ユニバーサル バイナリをビルドするには? ヒョウ/ユキヒョウ?
c++ - Boost.build を使用してオブジェクト ファイルを自動的に含める
boost 1.46 にある最新バージョンの boost-build を使用しています。main.cpp
どちらが と に依存するかを考えるa.h
とb.h
、boost-build の依存関係を自動検出する機能を使用して、私の jam ファイルは単純です
しかし、実装ファイルがある場合b.cpp
、オブジェクトb.o
は生成されず、リンクもされません。ビルド スクリプトを最小限にして、新しいファイルを追加するたびに微調整する必要がないようにしたいと思います。では、どうすればこれを自動的に行うことができますか?
本当の意図と私が求めていたものを反映するように編集されました。
build - bjam のコールスタックを取得するためのルールまたは 2 つの同一のジェネレーターを登録する理由
bjam で現在の呼び出しを返すルールはありますか?
「bjam.exe -d+10 ...」を呼び出すと、コールスタックが出力されますが、独自の ECHO は出力されません。
私がやろうとしているのは、generators.register のコールスタックまたは generators.jamのその他のルールを出力して、この二重登録がどこから行われるかを調べることです。
現在、2 つの同一のジェネレーターを登録していますが、その理由を知る方法がありません。そして、これは最終的にこれにつながります:
エラー: 最適な変換の検索中にあいまいさが見つかりました
...
成功したジェネレーター:
xxx.link
xxx.link
...
c++ - ブースト ビルドによる OS X フレームワークへのリンク
ブースト ビルドを使用して OS X フレームワークにリンクするにはどうすればよいですか? 次のことを試しました(Jamrootで):
ただし、これにより次のエラーが発生します(スペースの短縮):
これは、CoreFoundation ファイルに拡張子がなく、boost-build がそのタイプを推測できないためだと推測されます。ファイルの種類を明示的に指定する方法や、OS X のフレームワークに他の方法でリンクする方法はありますか?
c++ - Boost-Build: Linux から Windows 実行可能ファイルをビルドする
Windows と UNIX の両方のバージョンをビルドする必要がある C++ コードベースがあります。cygwin などをインストールしなくても、Windows 実行可能ファイルが機能することが重要です。ああ、私はこれをubuntuから達成しようとしています。
ブーストビルドで処理する方法を見つけようとしてきましたが、これまでのところ不十分です..簡単にするために、次のプロジェクト構造を想定しています。
最初のステップとして、boost-build で Windows バイナリを作成するために、ホーム ディレクトリに次の内容を含む user-config.jam ファイルを作成します。
私の jamroot ファイルは次のようになります。
しかし、実行するbjam
と、UNIX 実行可能ファイル (拡張子なし) が取得されますが、Windows 実行可能ファイルは取得されません。アプリケーションの名前を .exe 拡張子に変更して Windows で実行しても機能しません。bjam --toolset=gcc --target-os=windows
など、bjamのさまざまなオプションを試しましたが、うまくいくようbjam --toolset=gcc-mingw --target-os=windows
です..
記録として、mingw は適切にインストールされ、動作しています。コンパイラを手動で呼び出すと、正しい出力ファイルが生成されます。
何か案は?
また、user-config.jam ファイルにリストされている各ツールセットのバージョンを bjam にビルドさせるにはどうすればよいですか?
おまけの質問: 最終的に、1 つのブースト ライブラリと 1 つのカスタム ビルド済みライブラリにリンクする必要があります。ターゲット システムごとに異なるライブラリを指定するにはどうすればよいですか?
更新私はhttp://mingw-cross-env.nongnu.org/からスクリプトをダウンロードしました。 bjam に mingw コンパイラーを呼び出させます (私は別のコンピューターにいるので、現時点では解決策を提供できません)。他の質問はまだ解決されていません。
c++ - カスタムブーストライブラリの構築
(/MT, /MTd, /MD, /MDd)
ソース ファイルを選択して、MSVC v.8のすべてのマルチスレッド オプションを使用してビルドする簡単な方法はありませんか?
私はこのコマンドを見てきました、
MSVCコマンドプロンプトからですが、このプロセスは私のOSでは非常に時間がかかり、512 RAMの1.66 Ghz Intel Duo Coreで実行すると最大10時間かかります.
ビルドしたいライブラリを選択するにはどうすればよいですか?
boost-thread - ブースト スレッド ライブラリへのプログラムのリンク中にエラーが発生しました
スレッド化のためにブースト ライブラリをビルドする必要がありました。だから私は命令を下した
boost_1_46_1 ディレクトリにあります。それで
以下のコマンドを使用して、スレッドを含む単純なプログラムをコンパイルしようとすると、エラーが発生します。
何か不足していますか?
python - BoostBuild:patchlevel.hは存在しません
Ubuntu11.04でbjamを使用してC++プロジェクトをコンパイルしようとしています。次のエラーが発生し続けます。
プロジェクトディレクトリを検索したところ、patchlevel.hという名前のファイルがいくつかありますが、それらが何であるかわかりません。それらはBoostの一部ですか?
また、このエラーが数回発生します。
このファイルも間違いなく存在します。これらのファイルを指すように変更する必要があるBoost構成ファイルのいずれかに何らかのパス設定がありますか?
macos - OSX Snow Leopard:32ビットおよび64ビット用のビルドブースト1.47.0
私は夢中になっています...私は現在、osxユキヒョウのプロジェクトのブーストを1.44.0から1.47.0にアップグレードしようとしています。-次のコマンドでビルドしたいと思います。
ここで、i386とx86_64をサポートする静的ファットビルドが提供されると期待しています。とにかく、結果のライブラリをクエリすると、それらはすべてx86_64であるため、明らかにそうではありませんlipo -info
。-これを解決するにはどうすればよいですか?ビルドスクリプトが壊れている可能性がありますか?