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