CMake не может найти библиотеку wxWidgets в macOS High Sierra - PullRequest
0 голосов
/ 09 мая 2018

Я изучал CMake и хотел попробовать его, чтобы скомпилировать тестовое приложение wxWidgets, которое ранее успешно компилировалось в Windows. Однако я никогда раньше не использовал CMake, но тогда я настраивал его с помощью Visual Studio вручную.

Итак, я посмотрел некоторые онлайн-уроки и скомпилировал базовое приложение hello world (командную строку) на C ++, используя CMake, и оно работало нормально. Затем я установил wxWidgets, используя brew.

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/

.

Что я тут не так сделал?

1 Ответ

0 голосов
/ 09 мая 2018

После шести часов возни я нашел новую опцию конфигурации в скрипте findWxWidgets, которая является необходимой конфигурацией.

Все, что мне нужно было сделать, это указать местоположение файла wx-config.

cmake -G "Makefile Unix" .. -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

...