今、私のプログラムにいくつかのライブラリを含めるには" find_package(Boost 1.62.0 COMPONENTS program_options serialization system filesystem thread REQUIRED)"
を使う必要があります。 defualtディレクトリ**(usr/include ..)**。今では、次のエラーを発生します。find_packageを使ってBoost(usr/includeではない)をCMakeList.txtにリンクするには
CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1138 (message):
Unable to find the requested Boost libraries.
Boost version: 1.41.0
Boost include path: /usr/includ
Detected version of Boost is too old.
Requested version was 1.62 (or
newer).
私は私のCMakelist.txtの内容の一部を配る:
SET(BOOST_DIR /home/mingjli/folder_Mingjie/Software/boost_1.62.0/include/boost)
SET(BOOST_LIB /home/mingjli/folder_Mingjie/Software/boost_1.62.0/lib)
INCLUDE (${Source_Path}/IndexerLauncher.cmake NO_POLICY_SCOPE)
INCLUDE_DIRECTORIES(${BOOST_DIR})
LINK_DIRECTORIES(${BOOST_LIB})
INCLUDE_DIRECTORIES(${Source_Path})
ADD_EXECUTABLE (indexer_launcher ${IndexerLauncher})
TARGET_LINK_LIBRARIES (indexer_launcher nearest_search_lib)
target_link_libraries(indexer_launcher ${Boost_LIBRARIES})
ありがとうございました!!
こんにちは、私はあなたが何を意味するか知っています。しかし、私はブースト1.62ではなくブースト1.41を必要とします。残念ながら、私は昇格1.41を1.62に更新する許可はありませんが、これは問題です。 @Evgeniy –
@ MingjieLi、あなたはあなたのホームフォルダに新しいブーストをインストールすることができます。回答の更新を確認する – Evgeniy
こんにちは、@ Evgeniy、ありがとう、大丈夫です。しかし、新しい問題が発生します。 'missing_parameter'は 'boost :: program_options :: invalid_syntax'のメンバーではありません。私はinvalid_syntaxが実際にメンバー "missing_parameter"を含んでいることを確認しました。 –