2016-12-13 15 views
0

このエラーが発生する理由を把握できません。次のブーストライブラリを見つけることができませんでした

CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1753 (message): 
Unable to find the requested Boost libraries. 

Boost version: 1.48.0 

Boost include path: D:/Shark/boost_1_48_0 

Could not find the following Boost libraries: 

     boost_system 
     boost_date_time 
     boost_filesystem 
     boost_program_options 
     boost_serialization 
     boost_thread 
     boost_unit_test_framework 

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the 
directory containing Boost libraries or BOOST_ROOT to the location of 
Boost. 
Call Stack (most recent call first): 
CMakeLists.txt:146 (find_package) 


CMake Error at CMakeLists.txt:154 (message): 
Please make sure Boost 1.48.0 is installed on your system 

リクエストされたブーストライブラリを見つけることができません。しかし、私は1.48.0のブーストをインストールし、Visual studio consoleを使ってビルドし、BOOST_LIBRARYDIR=D:/Shark/boost_1_48_0/stage/libBOOST_ROOT=D:/Shark/boost_1_48_0を渡しました。

答えて

0

CMakeのFindBoostマクロは、使用しているコンパイラに基づいてさまざまな場所でlibsを探します。あなたがBOOST_LIBRARYDIRを指定した場合でも、あなたはまだ標準に準拠する必要がファイル名のFindBoostマクロを期待は、IE:Visual Studioの2013年のために、このテンプレートに一致する

${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} 
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} 
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION} 
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG} 
${Boost_LIB_PREFIX}boost_${COMPONENT}) 

例のファイル名を(別名MSVC 12)

$BOOST_LIBRARY_DIR/boost_atomic-vc120-mt-1_58.dll 
$BOOST_LIBRARY_DIR/boost_atomic-vc120-mt-gd-1_58.dll 

マルチスレッドビルドの場合はmt、デバッグビルドの場合はgdとなります。 FindBoostはうるさいですし、デバッグを探します構築、あなたの建物がマルチスレッド場合は、あなたのcmakeのプロジェクトはさらに=デバッグ

CMAKE_BUILD_TYPEを持っている場合は、定義する必要があります:あなたはまだあなたが定義する問題が発生した場合

Boost_USE_MULTITHREADED=ON 

を: Boost_DEBUG=1であり、FindBoostがどのように検索しているかについて、さらに多くの出力が表示されます。

+0

私はブーストライブラリをビルドし、結果としてバイナリビルドのパスを渡す必要がありますか(私がここで行ったように)、またはそれらのソースのパスを 'boost_1_48_0 \ libs ' –

+0

あなたはライブラリが必要です。ビルドしたくない場合は、ビルドされたバイナリを[sourceforge](https://sourceforge.net/projects/boost/files/boost-binaries/)から取得することができます。 –

0

私はソースファイルをダウンロードしてブーストライブラリを構築していました。問題は.dll(.libのみ)を作成していないということでした。

私はboostバイナリをダウンロードし、インストーラからインストールしてそれらのファイルを取得し、パスをBOOL_LIBRARYDIR=C:/local/boost/lib64-msvc-14.0BOOL_ROOT=C:/local/boostに設定してください。

関連する問題