|
Модератор
|
||||||||||||||||||||||||||
Хочется собирать проект с wxWidgets c помощью cmake02.09.2025, 07:22. Показов 3138. Ответов 22
Привет всем.
Задумываю кроссплатформенное приложение (минимум windows,linux) c использованием wxWidgets. Установил на win10 msys2, в него gcc,g++,gdb, mingw32-make.exe, в общем всё что требуется для сборки. Тут набрёл на Сборка из исходников wxWidgets под Windows, используя MinGW и makefile где Royal_X подробно описывает как собрать wxWidgets. Собрал как он написал. Только я все программы и пакеты которые норовят в корень установится ставлю в Диск:\prog\, ну такая у меня привычка, не хочу корень засорять. Скопировал один из простых примеров, состоящий из одного cpp файла из C:\prog\wxWidgets-3.3.1\samples\uiaction\ в другой каталог, скопировал имеющийся в другом примере CMakeLists.txt. Установил CMake последней версии, 4.1.1. Подстругал CMakeLists.txt под данный пример Кликните здесь для просмотра всего текста
- пытается использовать сборку от VS 2022. Да, она тоже есть, но мне нужно собирать с помощью gcc, пока под win, потом хочу попробовать кросс компиляцию для linux. Как CMake заставить использовать gcc не знаю. Указывал
Привожу для краткости CMakeLists.txt с удалёнными ветками для других ОС
Кликните здесь для просмотра всего текста
Ошибку см. выше. Поставил Code::Blocks, настроил как Royal_X написал. Code::Blocks создал проект заготовку, она удачно собралась и выполнилась. Я сохранил лог выполнения Code::Blocks сборки Кликните здесь для просмотра всего текста
не суть важно из каких файлов состоит проект, это просто заготовка приложения. Главное: 1 - wxWidgets успешно установлен и собирается под win (статическая линковка). 2 - нужно теперь сделать CMakeLists.txt под этот проект чтобы собирать вне Code::Blocks-а. Вы спросите зачем, если Code::Blocks собирает? Дык, я хочу использовать VS Code что бы всему обмазаться AI, MCP, а может даже и RAGами. В общем, не впечетляет совсем Code::Blocks, времена VS 2005 вспоминаются. Не суть. Резюме: помогите кто ни будь сделать годный CMakeListst.txt что бы собирать проекты хотя бы под win, а лучше нормальный, кроссплатформенный скрипт. Я его буду в другие проекты копировать В SRC_FILES уж как ни будь дополнительные файлы допишу. gcc и пр. стоят в C:/prog/msys64/ucrt64/bin и эта директория в PATH. C:\Program Files\CMake\bin\ тоже в PATH. Пусть даже пути жёстко будут прописаны если не выйдет с find_package(wxWidgets ... , я на всё согласный.
0
|
||||||||||||||||||||||||||
| 02.09.2025, 07:22 | |
|
Ответы с готовыми решениями:
22
cmake.exe как собирать проекты? CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM CMake в принципе не воспринимает никакие команды, кроме cmake --help |
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,747
|
||||||
| 02.09.2025, 20:47 | ||||||
|
Curry, прикольно то, что в папке build в проекте появляется файл
compile_commands.json, в котором ты можешь увидеть, что будет происходить. Так сказать, можно убедиться, что правильный компилятор и что правильные опции передаются компилятору.Это то, о чем говорил alecss131 - т.е. что CMake создает json, а потом уже VSCode с ним работает. Например, у меня есть простенький CMakeLists.txt для консольного приложения. По сути, там ничего сложного нет. Я прописал самые нужные мне опции, а также прописал, чтобы exe создавался не в папке build (дефолтно это так), а в папке bin в проекте.
compile_commands.json, то заметил, что CMake от себя тоже добавляет компилятору опции, кроме моих.При Release он от себя добавляет -O3 -DNDEBUG, а при Debug добавляет -g.Т.е. получается, что несмотря на то, что я просил, чтобы в Release был -О2, он лепит в начале -О3. Но это не страшно, поскольку компилятор GNU учитывает только последнюю O-опцию. Также само не страшно иметь два -g при отладке.В любом случае, советую проверять compile_commands.json, чтобы быть уверенным, что компиляция пройдет так, как нужно.
1
|
||||||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,747
|
|
| 02.09.2025, 21:00 | |
|
Curry, вот тут я переключаюсь между релизной и отладочными версиями
После переключения сразу же меняется compile_commands.json
1
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 02.09.2025, 21:08 | ||
|
Добавлено через 5 минут Я вот недавно создавал cmake проект в MSVC, и там для окружения и для указания компилятора использовался файл CMakePresets.json. (ко всему прочем что он дополнительно запускал из настроенного окружения msbuild, пути и прочее) Это только для разработки. Для дистрибуции естественно он не нужен. Но это так, к слову.
0
|
||
| 02.09.2025, 21:08 | |
|
Qt creator. Не удается добавить стороннюю библиотеку в проект cmake (добавление в проект boost/algorithm) Как с помощью cmake собрать проект ?
Cmake проект сборки документации Как собрать проект на CMAKE в Visual Studio Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|