我有一個在JetBrains CLion中的HelloWorld
項目,並設置了boost
,所以我可以很好地構建它。在windows上包含soci cmake
我已經成功構建soci
使用cmake
和make
與mingw
以外HelloWorld
項目。
對於提升我用:
include(FindBoost)
find_package(Boost 1.55.0 COMPONENTS system filesystem)
怎樣包括我cmake
的soci
庫?是否有包含soci
的類似方法?我不知道從哪裏開始?
UPDATE
遠一點,我認爲。
添加以下到我的cmake的選擇:
-D CMAKE_MODULE_PATH=D:\Development\Tools\lib\soci-3.2.2\cmake\modules
,這給我的CMakeLists.txt
:
find_package(Soci)
if(${SOCI_FOUND})
target_link_libraries(HelloWorld ${SOCI_LIBRARY} ${SOCI_sqlite3_PLUGIN})
else()
message(WARNING "SOCI NOT FOUND")
endif()
我仍然得到SOCI NOT FOUND
雖然但至少soci
變量在cmake
緩存輪番上漲。
對於使用'find_package()'指令適當'FindXXX.cmake'模塊應提供。一些模塊可以用'CMake'。所以看起來你需要編寫你自己的'FindSOCI.cmake'模塊。附:你應該使用[這個已經存在的模塊](https://github.com/SOCI/soci/blob/master/src/cmake/modules/FindSoci.cmake)。 – Gluttton 2015-02-11 12:59:17
@Gluttton,'FindSoci'在D:\ Development \ Tools \ lib \ soci-3.2.2 \ cmake \ modules'中,所以這似乎工作。或者不是嗎?附:這就是我正在使用的那個:) – Asken 2015-02-11 13:03:09
@Asken我很快檢查了尖銳的模塊,在我看來,它是更具針對性的Linux/Unix環境,具有精確的路徑作爲提示。在執行https://github.com/SOCI/soci/issues/394之後,我認爲應該解決這個問題。但沒人知道它何時發生。 – 2016-01-13 10:06:42