Задать вопрос
@z0rka

Как собрать cmake проект с библиотекой wxWidgets и не сойти с ума?

Уже как неделю я не могу понять, что делаю не так. Вроде бы всё сделал по гайду, но проект никак не хочет собираться.
cmake_minimum_required(VERSION 3.20.0)
project(myapp VERSION 0.1.0)

set(CMAKE_CXX_STANDARD 17) 
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

set(wxWidgets_ROOT_DIR "dep/wxwidgets/3.2.5")
set(wxWidgets_LIB_DIR "dep/wxwidgets/3.2.5/lib/gcc1320_x64_dll")

find_package(wxWidgets REQUIRED gl core base OPTIONAL_COMPONENTS net)
include(${wxWidgets_USE_FILE})

file(GLOB project
    src/*
)

add_executable(${PROJECT_NAME} ${project})

if(wxWidgets_FOUND)
    target_link_libraries(${PROJECT_NAME} ${wxWidgets_LIBRARIES})
    target_include_directories(${PROJECT_NAME} PRIVATE ${wxWidgets_INCLUDE_DIRS})
    message(STATUS "Found wxWidgets ${wxWidgets_VERSION_STRING}")
else()
    message(STATUS "wxWidgets Not Found")
endif()

При этом выдаёт такую ошибку:
CMake Error at C:/mingw64/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS)
Call Stack (most recent call first):
  C:/mingw64/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  C:/mingw64/share/cmake-3.28/Modules/FindwxWidgets.cmake:988 (find_package_handle_standard_args)
  CMakeLists.txt:11 (find_package)

И да, я пытался гуглить эту проблему, но наткнулся лишь на парочку схожих вопросов, на которые так внятно и не ответили.
  1. бесполезная тема №1
  2. бесполезная тема №2

Нашёл ещё вот такой вопрос и на него даже последовал ответ
You need to use the latest version of findwxWidgets.cmake (which is not available in any released CMake versions yet AFAIK) or use find_package(... CONFIG) to make this work.

И я бы с удовольствием последовал совету использовать find_package(... CONFIG), вот только не смог понять как именно это сделать...

В общем, может я чего-то не улавливаю и всё на самом деле куда проще, чем кажется, но на данный момент мне очень бы пригодилась любая информация о том, как решить эту проблему.
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 1
Ну видимо надо задать переменные
wxWidgets_LIBRARIES
wxWidgets_INCLUDE_DIRS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы