私は、より大きなプロジェクトを組み込みLinuxシステム(Debian 8.3 ARM)に移植しようとしています。このプロジェクトでは、システムのSynaptic(1.55 vs 1.58)より新しいBoostライブラリが必要なので、ソースからBoostをビルドする必要があります。通常、私は最新のバージョンを選びます.2週間前にダウンロードしたときの1.60でした(現在は1.61です)。Debian 8.3でのBoostユニットテストフレームワークの構築ARM
プロジェクトにはboost_unit_test_framework
が必要なテストケースが含まれています。私はそれ(解凍したソースディレクトリからの)呼び出しが
./bootstrap.sh --prefix=/home/tinyt/b160_clang \
--with-libraries=system,thread,<more lbraries>,\
boost_unit_test_framework,test_exec_monitor
./b2 install toolset=clang
、それは(改行はコマンドの一部ではありませんが、読みやすくするためにここに挿入~/b160_clang
で1.60を後押し私を与えるべきであるべき取るブーストドキュメントから )。 問題は、b2がライブラリーとしてboost_unit_test_framework
またはunit_test_framework
を認識せず、したがってブーストを構築しないということです。 ライブラリを省略しただけでは、私のサブセットのブーストライブラリが構築されますが、boost_unit_test_framework
の要件を満たしていないためCMakeが失敗します。
私に含めるべき他のライブラリはありますか? ライブラリーの配列は重要ですか? 途中でarにリンクする必要がありますか?
CMakeは一般的にはOKのようですが、プロジェクトのビルド環境はx86 Debian 8.3マシンです。違いは、ここに完全インストールのための十分なスペースがあることです。
clang 3.5とCMake 3.0.2を実行すると、機能的なデスクトップシステムと同じです。 ほとんどの場合、埋め込みターゲットシステムには、ブーストライブラリ全体を構築するための十分な領域がなく、プロジェクトアプリケーションのための空き領域があります。
boost_unit_test_framework
の依存関係がもうありませんか? インストール用にライブラリを指定する方法がありますか? ユニットテストフレームワークはヘッダーのみであるため、手動でヘッダーをコピーできますか?
感謝の意を表します。ありがとう!
編集:
私はちょうど私が構築したいすべてのライブラリのためのbjam --prefix=/... --with-<...>
を実行しようとしました。出力は前と同じであった。
error: wrong library name 'boost_unit_test_framework' in the --with-<library> option.
私は接頭辞boost_
を省略した場合と同じで真です。
実行 'bjam --show-libraries'は、「テスト」です。ライブラリ名に使用してみてください。 –