2016-02-24 10 views
1

Я установил cxWidgets следующим образом:Почему не удается найти пакет, установленный с использованием портов Mac?

sudo install wxWidgets-3.0 

В CMake файле проекта я пытаюсь построить, find_package называется:

find_package(wxWidgets REQUIRED) 

Однако, CMake жалуется, что не может найти пакет:

CMake Ошибка при /opt/local/share/cmake-3.4/Modules/FindPackageHandleStandardArgs.cmake:148 (сообщение): Не удалось найти WxWidgets (отсутствует: WX Widgets_LIBRARIES wxWidgets_INCLUDE_DIRS)

Мой вопрос, учитывая, что установлен cxWidgets (I подтвердили, запустив port installed), почему не может CMake найти его?

+0

Согласно описанию в [найти скрипт] (https://github.com/Kitware/CMake/blob/master/Modules/FindwxWidgets.cmake), он использует 'wx-config' для поиска библиотек и включает каталоги. У вас установлена ​​и доступна эта утилита? – Tsyvarev

ответ

1

Проблема заключается в том, что 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