以前に1.42であるubuntuリポジトリからブーストインストールを行い、/usr/lib
1.52をダウンロードし./b2 install
てインストールしました/usr/local/lib
。現在、cmake は 1.52 のみを検出し、インクルード パス/usr/local/include
(1.52) を使用し、ライブラリ ディレクトリ/usr/lib
(1.42) を使用しており、未定義の参照エラーが発生しています。
cmake_minimum_required(VERSION 2.6)
PROJECT(app)
set(Boost_USE_MULTITHREADED ON)
FIND_PACKAGE(Boost 1.52 COMPONENTS filesystem program_options thread system serialization REQUIRED)
ADD_EXECUTABLE(app list_of_cpp_files)
MESSAGE(STATUS "** Boost Include: ${Boost_INCLUDE_DIR}")
MESSAGE(STATUS "** Boost Libraries: ${Boost_LIBRARIES}")
TARGET_LINK_LIBRARIES(app ${Boost_LIBRARIES})
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "-g -O2")
set(CMAKE_EXE_LINKER_FLAGS "-s")
endif()
CMakeLists.txt で LIBRARY_PATH を指定しても、まだ /usr/lib を使用します
今何をすべきか?booststrap.sh --prefix=/usr
重複コピーを作成しますか? また、すべてのシンボリックリンクを手動で変更する必要がありますか?
または、レポ (apt-get) から以前のインストール (1.42) を削除しますか? 依存パッケージがあるため、すべてを削除することはできません。