gpt4 book ai didi

cmake - 在 CMake 中获取 wxWidgets 的版本

转载 作者:行者123 更新时间:2023-12-03 07:49:18 26 4
gpt4 key购买 nike

我正在尝试确定 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 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

(即所有变量均为空)

有人知道通过 CMake 检查 wxWidgets 版本的正确方法吗?

谢谢

大卫

最佳答案

在我的 Ubuntu 18.04.2 LTS 上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()

关于cmake - 在 CMake 中获取 wxWidgets 的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5872950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com