cmake - 为什么 cmake 找不到使用 Mac 端口安装的包?

标签 cmake macports

我按如下方式安装了 cxWidgets:

sudo install wxWidgets-3.0

在我尝试构建的项目的 cmake 文件中,调用 find_package:

find_package(wxWidgets REQUIRED)

但是,cmake 提示找不到该包:

CMake Error at /opt/local/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES wxWidgets_INCLUDE_DIRS)

我的问题是,既然已经安装了cxWidgets(我已经通过运行portinstalled确认),为什么cmake找不到它?

最佳答案

问题是 MacPorts 必须支持 wxWidgets 的多个版本,而我不知道如何自动让 CMake 找到请求的版本。

您有两个选择。

第一个是运行sudo port select wxWidgets wxWidgets-3.0。然后CMake应该会自动找到wxWidgets 3.0。

第二个选项是向 cmake 添加一个附加参数,该参数取决于您尝试编译的软件。

通常这些标志之一应该起作用:

-DwxWidgets_CONFIG_EXECUTABLE=/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wx-config
-DwxWidgets_wxrc_EXECUTABLE=/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/bin/wxrc

关于cmake - 为什么 cmake 找不到使用 Mac 端口安装的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610166/

相关文章:

python - Pyaudio、portaudio 和 mac 10.7.5

user-interface - 如何使我的 ttk 小部件看起来很现代?

cmake - 如何调试 CMakeLists.txt 文件?

Android gradle+CMake - 如何设置构建 worker 的数量

c++ - CMAKE_SOURCE_DIR 和 CMAKE_BINARY_DIR 如何设置?

c++ - 如何设置 CMAKE 静态链接(对 `dlopen' 的 undefined reference )?

macos - 没有依赖性的已安装MacPorts列表

python - 尝试卸载 Macports 时出错

python - Conda 和 Macports X11 安装 dlib 时发生冲突

c++ - CMake : External project remote URL not working