我正在尝试确定CMake发现的wxWidgets版本是否是>= 2.9。我试过这个:
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,所以这应该会失败)。
if(wxWidgets_FOUND)返回TRUE,到目前为止一切正常。然而,if(wxWidgets_VERSION小于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 (即所有变量均为空)
谁知道通过CMake检查wxWidgets版本的正确方法?
谢谢,
大卫
发布于 2011-11-17 01:29:02
有人推荐了一个名为wxArt2d的项目,它有更好的wxWidgets cmake。不幸的是,这些东西并没有更容易/更好地维护:
发布于 2019-06-03 20:14:30
在我的Ubuntu18.04.2lts CMake命令上:
find_package(wxWidgets REQUIRED)调用宏:
/usr/share/cmake-3.10/Modules/FindwxWidgets.cmake它设置了以下变量:
wxWidgets_VERSION_STRING # 3.0.4
wxWidgets_VERSION_MAJOR # 3
wxWidgets_VERSION_MINOR # 0
wxWidgets_VERSION_PATCH # 4因此,下面的代码检查版本:
find_package(wxWidgets REQUIRED)
include(${wxWidgets_USE_FILE})
if (wxWidgets_VERSION_STRING LESS 2.9)
message("Version < 2.9")
endif()
# Or
if (wxWidgets_VERSION_STRING GREATER_EQUAL 2.9)
message("Version >= 2.9")
endif()发布于 2018-03-26 17:22:48
打开终端并写入
wx-config --versionhttps://stackoverflow.com/questions/5872950
复制相似问题