CMake 在 macOS High Sierra 上找不到 wxWidgets 库
CMake cannot find wxWidgets library on macOS High Sierra
我正在学习CMake,想尝试用它来编译一个测试wxWidgets应用程序,我之前在Windows下成功编译了它。但是,我以前从未使用过CMake,但是当时我使用Visual Studio手动设置了它。
所以我在网上看了一些教程,并使用CMake在C++中编译了一个基本的hello world应用程序(命令行(,它工作得很好。然后我用brew安装了wxWidgets。
brew install wxmac
它确实安装了,我可以成功运行wx-config
工具。我还可以在查找器中看到文件。然后我把它添加到我的CMakeLists.txt
文件中。
project(wxWidgetsTest)
cmake_minimum_required(VERSION 2.8)
find_package(wxWidgets COMPONENTS core base wxSTC wxAUI REQUIRED)
include( "${wxWidgets_USE_FILE}" )
add_executable(
${PROJECT_NAME}
main.cpp
)
target_link_libraries(
${PROJECT_NAME}
${wxWidgets_LIBRARIES}
)
但是,当我尝试生成构建文件时,我使用的是以下命令:
cmake -G "Unix Makefiles" ..
它无法说find_package
找不到wxWidgets库。这是错误输出:
CMake Error at /usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES)
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/local/Cellar/cmake/3.11.1/share/cmake/Modules/FindwxWidgets.cmake:953 (find_package_handle_standard_args)
CMakeLists.txt:5 (find_package)
wxWidgets 库安装在/usr/local/Cellar/wxmac/3.0.4/
我在这里做错了什么?
经过六个小时的摆弄,我在findWxWidgets脚本中找到了一个新的配置选项,这是一个需要的配置。
我所要做的就是指定wx-config
文件的位置。
cmake -G "Unix Makefiles" .. -DwxWidgets_CONFIG_EXECUTABLE=/usr/local/Cellar/wxmac/3.0.4/bin/wx-config
它能够找到wxWidgets库。似乎是我的一个简单的错误。
这是我找到的来源:http://cmake.3232098.n2.nabble.com/Can-t-find-wxWidgets-tp7591015p7591017.html
认为这是一个错误...
若要解决此问题,请设置CMAKE_FIND_ROOT_PATH以帮助 CMAKE 找到该程序。 将以下行放在find_package(wxWidgets(之前。
set(CMAKE_FIND_ROOT_PATH "/usr/local")
我在 FindWidgets.cmake 中找到带有注释的可疑代码
支持交叉编译,只在目标平台搜索。
它提供了ONLY_CMAKE_FIND_ROOT_PATH find_program命令的选项。 根据文档,此选项意味着仅在"根"路径下查找程序。
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- CMake 在 macOS High Sierra 上找不到 wxWidgets 库
- 找不到 wxWidgets(缺少:wxWidgets_FOUND)
- 在您指定的 wxWidgets 目录中找不到匹配的调试配置