你可以從最新的CMake的版本:http://www.cmake.org/download/
對於Linux,它的這個檔案:http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
使用它是把解壓後的文件中/opt/cmake/cmake-3.2
然後創建下面的一個簡單方法別名(例如,在~/.bash_aliases
:
alias ccmake3='/opt/cmake/cmake-3.2/bin/ccmake'
alias cmake3='/opt/cmake/cmake-3.2/bin/cmake'
alias cmake3-gui='/opt/cmake/cmake-3.2/bin/cmake-gui'
alias cpack3='/opt/cmake/cmake-3.2/bin/cpack'
alias ctest3='/opt/cmake/cmake-3.2/bin/ctest'
然後,請確保你已經正確構建並安裝POCO 的。頁面提供了所需的全部信息。但是,基本上,你應該得到的來源from here和somehwere提取出來:
wget http://pocoproject.org/releases/poco-1.6.0/poco-1.6.0.tar.gz
tar xvfz poco-1.6.0.tar.gz
cd poco-1.6.0
mkdir -p cmake_build cmake_install/debug cmake_install/release
cd cmake_build
cmake3-gui ..
在CMake的3 GUI,按Configure
。在新窗口中,保留默認選項Unix Makefiles
並點擊Finish
。應該出現錯誤信息(這很好),請點擊Ok
。
要構建Debug
版本,設置如下:
CMAKE_BUILD_TYPE : Debug
CMAKE_INSTALL_PREFIX : the absolute path to "cmake_install/debug"
爲了讓您與POCO快速入門,unckeck所有的選項,除了以下,他們必須啓用:
ENABLE_JSON
ENABLE_NET
ENABLE_UTIL
ENABLE_XML
POCO_STATIC
(你可以以後再考慮其他的選擇,如果你需要...)
退出GUI,然後建立/安裝POCO:
make clean
make -j8
make install
現在,POCO應安裝在cmake_install/debug
。要建立/安裝其他版本,只是做了相同的過程,但在CMAKE_BUILD_TYPE
與Release
,RelWithDebInfo
或MinSizeRel
(參見CMake's doc)取代Debug
(也,你必須更改安裝目錄)
最後,可以在你的C++項目中使用POCO。
比如你CMakeLists.txt
應該是這樣的:
cmake_minimum_required(VERSION 3.0)
project(Email_Reader)
# define the project
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(Email_Reader ${SOURCE_FILES})
# set the POCO paths and libs
set(POCO_PREFIX "/path/to/cmake_install/debug") # the directory containing "include" and "lib"
set(POCO_INCLUDE_DIR "${POCO_PREFIX}/include")
set(POCO_LIB_DIR "${POCO_PREFIX}/lib")
set(POCO_LIBS "${POCO_LIB_DIR}/libPocoNetd.a"
"${POCO_LIB_DIR}/libPocoUtild.a"
"${POCO_LIB_DIR}/libPocoJSONd.a"
"${POCO_LIB_DIR}/libPocoXMLd.a"
"${POCO_LIB_DIR}/libPocoFoundationd.a"
"pthread")
# set the include path for the app
target_include_directories(Email_Reader PRIVATE "${POCO_INCLUDE_DIR}")
# link the app against POCO
target_link_libraries(Email_Reader "${POCO_LIBS}")
我沒有看到你的任何片段的cmake 3.0特定的代碼,因此降低了所需的版本2.8.12貌似值得一試。 – arved
Poco cmake build確實需要3.0版本。但是你也可以在沒有cmake的情況下輕鬆[build](http://pocoproject.org/docs/00200-GettingStarted.html#7)poco。 – Alex
問題是,即時通訊使用CLion,它只支持cMake構建運行。我認爲,既然這是我選擇的IDE,我不妨學習cMake。 – gemini88mill