我想使用CMake在Windows上编译源代码,它使用wxWigets库。 我从页面下载了wxWigets:https://www.wxwidgets.org/
通过Visual Studio构建后,我得到了库/lib文件。 我已经为wxWidgets_LIBRARIES和wxWidgets_INCLUDE_DIRS设置了PATH。但以下错误无法解决。
CMake Error at C:/Program Files/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
wxWidgets_INCLUDE_DIRS)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.11/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/CMake/share/cmake-3.11/Modules/FindwxWidgets.cmake:953 (find_package_handle_standard_args)
CMakeLists.txt:52 (find_package)
我还阅读了有关此问题的线程:CMake 在 Windows 上找不到 wxWidgets 但我的情况没有解决方案。
您可以指定
wxWidgets_ROOT_DIR
变量来指向您的 wxWidgets 安装。
据我了解,您可以通过
-D
选项将 CMake 变量设置为 cmake
:
cmake -DwxWidgets_ROOT_DIR:PATH=D:/path/to/wxWidgets/ ...
或者您可以设置环境变量
set wxWidgets_ROOT_DIR=D:\path\to\wxWidgets\ ...
(请注意,CMake 路径变量使用“通用”目录分隔符“/”,但环境变量使用本机目录分隔符,对于 Windows 为“\”)。
此变量在 FindwxWidget 文档中进行了描述。
使用 wxWidgets_LIB_DIR 变量可能会很棘手,请参阅那个问题。
我有一个解决方案可以解决这个问题。 FindwxWidgets.cmake 文件有问题 首先,删除该文件 C:/Program Files/CMake/share/cmake-3.11/Modules/FindwxWidgets.cmake
相反,您可以使用 wxWidetsConfig.cmake 文件找到该包 YOUR_PATH\wxWidgets\li