1
我以前從Ubuntu的回購安裝是1.42,安裝在/usr/lib
現在我下載了1.52和./b2 install
,它安裝在/usr/local/lib
。現在cmake僅檢測到1.52,並使用包含來自/usr/local/include
(1.52)的Path和使用庫目錄/usr/lib
(它是1.42)並給出未定義的參考錯誤。cmake無法檢測到提升多個安裝
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()
即使我給LIBRARY_PATH中的CMakeLists.txt它仍然使用/ usr/lib目錄
應該怎麼做現在?我會做一個booststrap.sh --prefix=/usr
,但不會讓重複的副本?我是否也需要手動更改所有符號鏈接?
或者我將從repo(apt-get)中刪除以前的安裝(1.42)?我無法刪除所有,因爲有依賴包。
什麼版本的CMake? – Fraser
在Ubuntu的cmake 2.8 –