2012-11-20 41 views
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)?我無法刪除所有,因爲有依賴包。

+0

什麼版本的CMake? – Fraser

+0

在Ubuntu的cmake 2.8 –

回答

1

通過做解決./bjam --layout=tagged install