0
我試圖確定CMake發現的wxWidgets的版本是否> = 2.9。我試過這個:在CMake中獲取wxWidgets的版本
find_package(wxWidgets 2.9 COMPONENTS core base REQUIRED)
if(wxWidgets_FOUND)
message("wxWidgets found successfully.")
include(${wxWidgets_USE_FILE})
else()
message(FATAL_ERROR "wxWidgets was not found!")
endif()
if(wxWidgets_VERSION LESS 2.9)
message(FATAL_ERROR "wxWidgets is not a high enough version!")
else()
message("wxWidgets Version ${wxWidgets_VERSION}")
message("wxWidgets Major version ${wxMAJOR_VERSION}")
message("release number ${wxRELEASE_NUMBER}")
message("check version ${wxCHECK_VERSION}")
message("wxWidgets version ${WX_WIDGETS_VERSION}")
message("wxWidgets major version ${WX_MAJOR_VERSION}")
message("wxWidgets version string ${WX_VERSION_STRING}")
endif()
(我的系統有wx2.8,所以這應該會失敗)。
如果(wxWidgets_FOUND)返回TRUE,那麼這麼好。但是,if(wxWidgets_VERSION LESS 2.9)失敗,但這不是因爲wxWidgets_VERSION是< 2.9。這是因爲wxWidgets_VERSION是空的。事實上,整個輸出爲:
wxWidgets Version
wxWidgets Major version
release number
check version
wxWidgets version
wxWidgets major version
wxWidgets version string
(即所有的變量都是空的)
有誰知道正確的檢查方法,通過C進行wxWidgets版本?
感謝,
大衛
檢查你FindWxWidgets.cmake模塊。我不知道你正在使用哪一個,但是,例如,在[this](http:// wiki .wxwidgets.org/FindWxWin.Cmake)wxversion僅針對Windows(並且我猜不是你喜歡它的方式)和[this](http://code.google.com/p/vtp/source/browse) /trunk/CMakeModules/FindwxWidgets.cmake?r=7130)一個版本沒有定義 – beduin 2011-05-04 04:41:17
我認爲wx提供的查找腳本並沒有得到很好的維護,所以也許你需要爲你的情況修改一個腳本。 – LiMuBei 2011-09-23 18:24:30