为什么不能找到使用Mac端口安装的软件包?

时间:2016-02-24 18:29:44

标签: cmake macports

我按如下方式安装了cxWidgets:

sudo install wxWidgets-3.0

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

find_package(wxWidgets REQUIRED)

然而,cmake抱怨它无法找到包裹:

  

在/opt/local/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148上的CMake错误(消息):     找不到wxWidgets(缺少:wxWidgets_LIBRARIES     wxWidgets_INCLUDE_DIRS)

我的问题是,假设安装了cxWidgets(我已通过运行port installed确认),为什么不能找到它?

1 个答案:

答案 0 :(得分:2)

问题是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