LINUX.ORG.RU

wxWidgets и cmake теперь не дружат?

 , , ,


1

1

имеется арч, последние пакеты, желание использовать wxWidgets в своем проекте на c++.

`--> pacman -Qs cmake
local/cmake 3.22.2-1
    A cross-platform open-source make system
local/extra-cmake-modules 5.90.0-1 (kf5)
    Extra modules and scripts for CMake


`--> pacman -Qs wx
local/wxgtk-common 3.0.5.1-3
    Common libraries and headers for wxgtk2 and wxgtk3
local/wxgtk3 3.0.5.1-3
    GTK+3 implementation of wxWidgets API for GUI


при добавлении в CmakeLists.txt
find_package(wxWidgets REQUIRED gl core base )
include("${wxWidgets_USE_FILE}")

происходит
`--> cmake ..
module path is
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindwxWidgets.cmake:1025 (find_package_handle_standard_args)
  CMakeLists.txt:16 (find_package)


примечательно, что чуть ранее все работало — накрылся на днях диск на 2Тб — купил ssd, переставил систему, и теперь не собирается то, что собиралось на старой.

дубликат темы

Решение

★★

Последнее исправление: safocl (всего исправлений: 1)

Я уже не помню точно, оно ведь через pkg-config либы ищет?

Тогда полезно посмореть откуда прилетает конфигурация (прилетает ли?) и что в конфигах написано.

trex6 ★★★★★
()
Последнее исправление: trex6 (всего исправлений: 1)
Ответ на: комментарий от safocl

Там конфиги написать должно быть не сложно. Приложите в пакетик для арча - другие вам спасибо скажут.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

тогда уже сразу cmake файл сделать нормальный для поиска и автоподстановки нужных данных либы — через alias

safocl ★★
() автор топика
Ответ на: комментарий от trex6

вот только интересует установка искаропки что бы работала

safocl ★★
() автор топика
Ответ на: комментарий от safocl

По выхлопу cmake видно, что нужный файл FindwxWidgets.cmake в системе есть. А вот есть ли пакеты для разработки wxWidgets – непонятно.

u-235
()
Ответ на: комментарий от trex6

Я уже не помню точно, оно ведь через pkg-config либы ищет?

Нет. find_package ищет CMake описание, если надо через pkg-config, то надо что-то в виде:

find_package(PkgConfig REQUIRED) 
pkg_check_modules(FOO REQUIRED IMPORTED_TARGET foo)
AlexVR ★★★★★
()
Ответ на: комментарий от u-235

в шапке же указано какие пакеты — ну и насколько я понимаю, в арче аналог дебиановских это wxgtk-common

safocl ★★
() автор топика

Решение. Все заработало после установки более новой версии из AUR —

`--> pacman -Qs wx
local/wxgtk-common-dev 3.1.5-2
    Common libraries and headers for wxgtk2 and wxgtk3
local/wxgtk3-dev 3.1.5-2
    GTK+3 implementation of wxWidgets API for GUI


в этой версии уже есть сразу cmake файл — раньше может она и стояла — в более старой еще cmake файла разработчики не делали.

safocl ★★
() автор топика
Последнее исправление: safocl (всего исправлений: 1)
Ответ на: комментарий от AlexVR

ну вот у wxWidgets отсутствует файл для pkg-config — это точно.

safocl ★★
() автор топика
Ответ на: комментарий от safocl

В дебиане есть пакеты с библиотеками только для запуска приложений и отдельно пакеты для разработчиков. Что-то вроде wxwidgets-gtk и wxwidgets-gtk-dev.

u-235
()
Ответ на: комментарий от safocl

Я нашёл в чём была у тебя изначальная проблема. У тебя стоял пакет wxgtk3 и не стоял wxgtk2. Эти пакеты предоставляли, соответственно, утилиты wx-config-gtk3 и wx-config. Файл от CMake FindwxWidgets.cmake опирается по умолчанию на wx-config, его не находил, библиотек не находил и ругался.

Соответственно у тебя тогда могло быть два решения задачи:

sudo pacman -S wxgtk2

или

cmake -DwxWidgets_CONFIG_EXECUTABLE=wx-config-gtk3 ..
AlexVR ★★★★★
()
Последнее исправление: AlexVR (всего исправлений: 1)
26 октября 2022 г.
Ответ на: комментарий от AlexVR

хмм.. очень интересная версия — надо будет проверить — большое спасибо за ответ.

safocl ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.