Wt v。3.2.2和boost庫v。1.47已成功安裝在我的電腦中,安裝過程中未出現錯誤。一些簡單的Wt和Boost示例在測試過程中被編譯並正確運行。我使用爲MSVC 2008配置的CMake,爲我自己的Wt項目創建構建文件。但是,當我嘗試構建我自己的項目時,出現此錯誤(無法打開包含文件:'boost/any.hpp')。正如我所看到的,boost/any.hpp包含在Wt/WApplication頭文件中。構建Wt項目時出錯。無法打開包含文件:'boost/any.hpp'
如需進一步的幫助,我的CMakeLists.txt文件內容是: 的CMakeLists.txt放在項目目錄:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(WT_EXAMPLE)
SET (WT_CONNECTOR "wthttp" CACHE STRING "Connector used (wthttp or wtfcgi)")
ADD_SUBDIRECTORY(source)
的CMakeLists.txt放在源目錄:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
SET(WT_INSTALL_DIR "C:/Program Files/WT/boost_1_47")
SET(BOOST_INSTALL_DIR "C:/Program Files/boost")
ADD_EXECUTABLE(
GOP.wt
Main.C
)
SET(WT_LIBS
optimized wthttp debug wthttpd
optimized wt debug wtd)
SET(BOOST_LIBS
boost_signals boost_regex boost_thread boost_filesystem boost_system
boost_random boost_date_time boost_program_options)
TARGET_LINK_LIBRARIES (
GOP.wt
${WT_LIBS} ${BOOST_LIBS} ${SYSTEM_LIBS}
)
LINK_DIRECTORIES (
${WT_INSTALL_DIR}/lib/
${BOOST_INSTALL_DIR}/lib/
)
INCLUDE_DIRECTORIES(${WT_INSTALL_DIR}/include)
INCLUDE_DIRECTORIES(${BOOST_INSTALL_DIR}/include)
當我看到在放在Wt構建目錄中的CMakeCache.txt中,找到了用於增強庫的路徑,但是......這條線怎麼樣?
//The directory containing a CMake configuration file for Boost.
Boost_DIR:PATH=Boost_DIR-NOTFOUND
我問WT上的支持論壇這個問題,但我沒有得到約24小時的答案...
更新:我發現any.hpp放在C:\ Program Files \ boost \ boost_1_47 \ boost \ spirit \ home \ support \ algorithm \ any.hpp。所以,我懷疑有一個搜索any.hpp的路徑的概念(它不直接包含在boost目錄中)。
將INCLUDE_DIRECTORIES($ {BOOST_INSTALL_DIR}/include)更改爲INCLUDE_DIRECTORIES($ {BOOST_INSTALL_DIR}),但它不能解決我的問題。 – Kapoios 2012-07-31 14:33:35
我總是在add_executable之前執行include_directories。你確定訂購沒有關係嗎? – Lap 2012-07-31 15:45:55
@lap Wt支持論壇的版主將其作爲CMakeLists文件格式發佈,用於生成構建用戶應用的構建文件。請參閱http://redmine.webtoolkit.eu/boards/2/topics/4714 – Kapoios 2012-07-31 15:53:34