私は、Windows上でブーストベースのアプリケーションをコンパイルするためにcmakeスクリプトを使用しようとしています。 ヘッダのみのライブラリが正常に動作しますが、cmakesはライブラリを見つけることができない(以下Boostライブラリが見つかりませんでした:boost_serialization)をcmakeのスクリプトの関連部分は次のとおりです。cmakeで追加ライブラリが見つかりません
#path where cmake can find additional libraries
SET(CMAKE_PREFIX_PATH Libs)
#boost
SET(Boost_ADDITIONAL_VERSIONS "1.47" "1.47.0")
SET(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED COMPONENTS serialization)
私は "という名前のフォルダを持っています私のプロジェクトの中にDevilsやboostなどのサードパーティライブラリが格納されているので、まずこれを設定します。悪魔のためにうまく動作し、ヘッダーのみのものを追加するので、私はBOOST_ROOT変数が必要ないはずです。 私はbjamでコンパイルしたboost.orgの標準ソースディストリビューションです。ライブラリはboost_1_47_0 \ bin.v2 \ libsに保存されています。ビルドプロセスで何も変更しませんでした。 boost_1_47_0 \ libsフォルダにはライブラリファイルでbjamファイルやその他のものは含まれていませんが、この継ぎ目はWindows上でブーストを構築する通常の方法であるため、問題ではありません。ソースから。
私はFindBoost.cmake(私はCMake 2.8からのデフォルトスクリプトを使用しています)からのDebug出力を見ましたが、bin.v2を調べるために継ぎ目がありません。代わりにboost_ROOT/libを検索しますが、bin.v2 \ libsの内容をlibにコピーしてもlibにはまだ何も見つかりません。
ブーストを見つけるためのエレガントな方法は、一般的なボスト・ディストリビューションの他のプラットフォームでも機能しますか?
マニュアルを読んで、stageとインストールについて学んでください。 – mloskot
マニュアル(http://www.boost.org/doc/libs/1_48_0/more/getting_started/windows.html)を読みましたが、オプション5.2を使用しました。ステージディレクトリにすべてのライブラリがあることがわかりました。これを私のブーストライブラリーディレクトリに設定できますが、次回はオプション5.3を試してみます。 – JonathanK
ステージとブースト(ヘッダー)ディレクトリをコピーしてBoostをインストールすることもできます。例えばboost/- > C:\ boost \ include \ boostとstage/* - > C:\ boost \ lib – mloskot