Форум программистов, компьютерный форум, киберфорум
C++: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/64: Рейтинг темы: голосов - 64, средняя оценка - 4.84
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
1

WxWidgets + CodeBlocks + MinGW "на пальцах"

16.06.2015, 13:35. Показов 12502. Ответов 29
Метки нет (Все метки)

Гуру, дайте совет новичку!

Освоил консоль в Win+Codeblocs+MinGW. Теперь хочу попробовать рисовать "окошки" (в редакторе окошек, а не только кодом, как в WinAPI). Остановился на wxWidgets (Qt не нравится, да и лицензия не free).

Перебрал кучу инструкций по "настройке". Некоторые требуют сначала скачать wxWidgets, а потом его компилировать. Некоторые говорят что MinGW не подходит - нужен GCC. Слишком много устаревших инструкций...
Самую "компактную" (но относительно "мутную") нашел здесь (http://eax.me/wxwidgets-examples/), но она 4х летней давности (для С++ это много)...

Обьясните какие первые "подводные камни" мне грозят???
Надо переустановить весь инструментарий или просто надо подключить внешнюю wxWidgets в мою сборку?
Есть ли готовые "сборки" чтобы не заморачиваться со сборкой инструментов? (не охота изучить мегабайты хелпов и потратить неделю ради HelloWorld)
Можно ли скачать уже "скомпилированую" под Win64? или компилировать обязательно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2015, 13:35
Ответы с готовыми решениями:

Странности с wxWidgets и CodeBlocks и с Boost
Я совсем в программировании новичок. Помогите разобраться. Скачал либы wxWidgets и Boost....

Дайте совет по связке wxWidgets+codeblocks
Хочу попробовать создание программы с оконным интерфейсом. С горем пополам связку...

Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd"
вот код, нужно найти 3 минимальных положительных числа в массиве. При размере массива больше 950 в...

C++ 17 приняли! Как теперь быть текущей сборкой codeblocks+mingw ?
Я новичок совсем. Только вот начал только только изучать программирование. Поставил Code::Blocks...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
29
Эксперт С++
4967 / 3074 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
16.06.2015, 13:50 2
Есть готовые сборки, но они не такие актуальные. Проект переехал на github, поэтому новых сборок скорее всего не будет.
Самый свежий код (из github) должен без проблем собираться через MSYS2.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
16.06.2015, 14:32  [ТС] 3
Цитата Сообщение от castaway Посмотреть сообщение
Есть готовые сборки, но они не такие актуальные. Проект переехал на github, поэтому новых сборок скорее всего не будет.
Это я понял! И давно скачал! Но как его ПРИКРУТИТЬ к CodeBlocs+MinGW?
Их надо скомпилировать?
Нужны танцы с бубном по настройке?

В кодеблоксе есть ВСТРОЕННАЯ система для нового проекта на WxWidgets.
Требует лишь указать папку и версию (3.х), но потом ругается что не видит какой-то Дебюг конфигурации...
После всех игноров ("да продолжить не смотря на...") получаю проект, который ругается на строчке
C++ (Qt)
1
#include "wx/setup.h"
Похоже надо было еще что-то куда-то прописать... И не уверен что такая ошибка будет одна...

Скачать с гит-хаба было самым простым... Что делать с этим дальше????
0
Эксперт CЭксперт С++
5054 / 2241 / 330
Регистрация: 20.02.2013
Сообщений: 5,601
Записей в блоге: 24
16.06.2015, 14:54 4
Tester64, посмотри как я прикручивал Boost и Clang с помощью msys2 (как раз в Code Blocks). По аналогии попробуй сделать.
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
19.06.2015, 15:10  [ТС] 5
Цитата Сообщение от gru74ik Посмотреть сообщение
По аналогии попробуй сделать.
Спасибо, Вы "открыли мне еще один глаз"!

Пока не получилось... отложу на потом...
Но нашел нужный(вроде) пакет:
Bash
1
pacman -S mingw-w64-i686-wxWidgets
Но С++ похоже где-то не правильно подхватывает пути... Меня завалили другой работой (с++ это пока только хобби), попробую вернуться к этой теме через недельку...

Не по теме:

Жаль что нет сборки вроде CodeBlocs+MinGW+wxWidgets+Boost(там вроде сетевые компоненты были)+Clang(еще не понял зачем)... Один архив скачал, распаковал на C:/D:, запустил пару батников для настройки и работай! как бы сильно это помогло новичкам в опенсорсе!!! Недели уходят на установку инструментов! Делфи именно на этой "сборке" и развил такую популярность!

0
Эксперт CЭксперт С++
5054 / 2241 / 330
Регистрация: 20.02.2013
Сообщений: 5,601
Записей в блоге: 24
20.06.2015, 04:58 6
Цитата Сообщение от Tester64 Посмотреть сообщение
(Qt не нравится, да и лицензия не free).
Хмм...
0
Миниатюры
WxWidgets + CodeBlocks + MinGW "на пальцах"  
Эксперт CЭксперт С++
5054 / 2241 / 330
Регистрация: 20.02.2013
Сообщений: 5,601
Записей в блоге: 24
20.06.2015, 05:39 7
Tester64, и да, вот посмотри: Библиотека инструментов wxWidgets. Сборка (tutorial)
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.06.2015, 12:14  [ТС] 8
Цитата Сообщение от gru74ik Посмотреть сообщение
Хмм...
GPL! Насколько я понял, это значит что делая проект я ОБЯЗАН открывать его исходники...
Я могу сделать бесплатную программу! Но исходники - это личное! Не хочу изучать инструмент который изначально сажает меня в "стеклянную комнату" и плодит мне конкурентов.
Да и скорость сборки у Qt не самая шустрая и требования к харду приличные...

Цитата Сообщение от gru74ik Посмотреть сообщение
и да, вот посмотри: Библиотека инструментов wxWidgets. Сборка (tutorial)
Находил почти сразу (на первых страницах гугления), среди соти других инструкций. Этой статье 1.5 года. За это время вполне могли поменять wx и сделать другую систему подключения. Могли не заморачиваться с компиляцией. Могли встроить в комплект CodeBlocks.

Через недельку-две еще раз попробую собрать HelloWorld... (скорее всего проще будет полностью пересобрать ВСЕ инструменты - возможно они не правильно были установлены)
0
Эксперт С++
4967 / 3074 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
20.06.2015, 12:31 9
Цитата Сообщение от Tester64 Посмотреть сообщение
Насколько я понял, это значит что делая проект я ОБЯЗАН открывать его исходники...
На сколько мне известно, лицензия GPL не обязывает открывать исходники (могу ошибаться).
0
70 / 64 / 39
Регистрация: 17.02.2014
Сообщений: 265
20.06.2015, 12:39 10
У wxWidgets слабая документация, описаны только самые важные методы, про protected члены и методы узнаешь можно сказать из ковыряния исходников, + к этому немного напрягает черезмерное ООП - чуть ли не каждая переменная завернута в класс. Вообщем если нужна будет помощь распишу подробно как собирать, буквально пару дней назад собирал для CodeBlocks Mingw x86_64, единственное, что раздражает в начальных семплах постоянно вылезают Deprecated варнинги.
0
Ушел с форума
Эксперт С++
16420 / 7395 / 1185
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
20.06.2015, 13:04 11
Цитата Сообщение от Tester64 Посмотреть сообщение
GPL! Насколько я понял, это значит что делая проект я ОБЯЗАН открывать его исходники...
С GPL - да. А с LGPL нет.
2
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.06.2015, 14:32  [ТС] 12
Цитата Сообщение от smartpointer Посмотреть сообщение
буквально пару дней назад собирал для CodeBlocks Mingw x86_64, единственное, что раздражает в начальных семплах постоянно вылезают Deprecated варнинги.
А вообще реально собрать все один (относительно)портабл архив? Вместе с HelloWord как основным проектом? Думаю у многих был бы на эту сборку спрос!!! (как на Денвер - сборку "php+mysql+apach+..." - скачал, распаковал и пользуйся - не надо часы тратить на изучение и установку каждого компонента, как и на их связывание). Я настроил CodeBlocks+MinGW и на компиляцию в консоли через make (довольно сложные утилиты и тяжелые бат-файлы). По идее можно полностью переносить на другой комп без переустановки с сохранением путей. Даже обошел прописывание в path путей к mingw (через хулиганство со свойствами "мой компьютер") указав пути в кодеблоксе и в батниках. Может и дальше можно "развить" сборку?

Жутко бесят "танцы с бубном"... на первом этапе. Уже 10й раз думал перейти от консоли к графике. Раза 2 ставил и стирал Qt (20-30 секунд ждать появления первого ПУСТОГО окошка после 2-4х секунд на делфи - это издевательство. Консоль в MinGW собирается 5-6 секунд). Про количество неудачных "подходов" к буст - даже вспоминать не хочется (аж бесит тема - так и не смог за пол года запустить на буст сокет сервер)

Цитата Сообщение от smartpointer Посмотреть сообщение
У wxWidgets слабая документация, описаны только самые важные методы, про protected члены и методы узнаешь можно сказать из ковыряния исходников, + к этому немного напрягает черезмерное ООП - чуть ли не каждая переменная завернута в класс.
Мне НЕ нужны сложные компоненты! В худшем случае буду сам рисовать свой компонент на канвасе. (а ко всему в классах привык - даже String предпочел в свой класс завернуть, да и последним языком была ява) Мне нужен удобный инструмент для БЫСТРОГО вызова функций разработанных в консоли (уже разработал линуксоый режим с внутренними командами, но это МЕДЛЕННО - "t1,enter", "t2, enter" - соскучился по кнопкам) и для УДОБНОГО вывода результата этих функций (текст и цифры) на экран разными цветами и размерами шрифтов (а не одна бегущая строка в консольном окне).

Мне не нужен сложный дизайн! Предстоит запуск долгих "случайных" тестов (почти математических). При этом может быть несколько состояний одновременно - от каждой вызванной функции и от массового запускателя. Даже не представляю как сделать это читабельным в консоли (минимум два списка иногда в процессе хочется полистать - последниее 100 команд и последние 100 строк результатов выполенения этих команд).
0
70 / 64 / 39
Регистрация: 17.02.2014
Сообщений: 265
20.06.2015, 15:54 13
Цитата Сообщение от Tester64 Посмотреть сообщение
А вообще реально собрать все один (относительно)портабл архив?
Думаю да, в конфиге можно указать MONOLITHIC сборку,возможно собрать все в одну либу и одну дллку, однако не проверял что будет на выхлопе поскольку для себя собирал все по-отдельности.В конфиге можно указать что надо,что не надо OpenGL,Threads и т.д - вообще собирается все довольно легко, через mingw32-make.
Цитата Сообщение от Tester64 Посмотреть сообщение
Вместе с HelloWord как основным проектом?
Через wizard-проектов в кодблокс уже встроен шаблон с HelloWorld. Кстати там обнаружил один неприятный баг в mingw и его до сих пор не пофиксили.Сам начальный проект собирается с использованием windres, который вшивает ресурсы в бинарники, он плохо реагирует на пробелы в путях, пришлось сносить CodeBlocks в корень C:\. В общем чем-то мне тоже не приглянулся QT, если бы не скудный мануал - цены бы не было виджетам, все элементы рисуются нативные Кстати там в папочке с сорцами есть отличные семплы их правда нужно отдельно собирать и еще какие то тесты.Вот кстати отличное комьюнити, если хорошо знаешь инглиш https://forums.wxwidgets.org/
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
20.06.2015, 17:42  [ТС] 14
Цитата Сообщение от smartpointer Посмотреть сообщение
Думаю да, в конфиге можно указать MONOLITHIC сборку,возможно собрать все в одну либу и одну дллку,
Вы не поняли! Я про "пакет" ИНСТРУМЕНТОВ! Надежно и качественно один раз собрать CodeBlock+MinGW+Bost+wxWidgets и либо упковать о общий инсталятор либо в архив для распаковки. Внутрь вложить 100% работающий пример с окошком на wxWidget (визард ставит по умолчанию левые пути и не хочет запускаться).

Чтобы купив новый комп не заниматься несколько дней вспоминанием манов по скручиванию этих компомнент(по сути работа "админа", а не "кодера"), а приступить к кодерству уже через пол часа... Докруткой инструментом "под себя" еще можно много месяцев делать (цвета, шрифты, хитрые плагины, оптимизация компиляции), но ХеллоВорлд хочется сделать через 10 минут после распаковки инструмента (как в Qt). Готов на слегка-устаревшие технологии для работы (вплодь до wxWidget 2.x, а не 3.х), но я ОЧЕЬ не люблю админскую работу (подобрать удачные версии, правильно прописать системные пути в настройках Win7) ...
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
27.06.2015, 05:29  [ТС] 15
wxWidgets собрал!!! Заработало! Решил поделиться успешным решением (десятка два перебрал) со "следующим поколением" новичков.
Действовал по https://www.youtube.com/watch?v=FgAaiBg4wEE
Инструкция СЛЕГКА устарела, но все равно сработало! Надо было скомпилировать! Причем довольно хитрыми ключами. В видео они хорошо видны. Фиксация пути в системе через "мой компьютер" не сработала, пришлось полный путь указывать:
Bash
1
D:\My\wxWidgets-3.0.2\build\msw>"c:\Program Files (x86)\CodeBlocks\MinGW\bin\mingw32-make.exe" -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
Конечно в примере указал последнюю версию - "wxWidgets 3x"
удачной сборки...
1
3239 / 2042 / 350
Регистрация: 24.11.2012
Сообщений: 4,897
27.06.2015, 07:52 16
Цитата Сообщение от Tester64 Посмотреть сообщение
Инструкция СЛЕГКА устарела
Актуальная есть в официальной вики.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
27.06.2015, 20:49  [ТС] 17
Цитата Сообщение от 0x10 Посмотреть сообщение
Актуальная есть в официальной вики.
Видел... Для новичка не знакомого со структурой компилятора эта текстовая мура из "кучи букв и ни одного примера" вряд-ли поможет... Я тоже натыкался... Попытался понять о чем они и пошел дальше...

Уж насколько я не люблю видео-уроки за их нудность, этот (https://www.youtube.com/watch?v=FgAaiBg4wEE) понравился своей лаконичностью. правда
1) звук в самом начале выключил (музыка не нужна, а слов не услышал, да и не нужны)
2) развернул на весь экран и подождал ради повышения качества картинки до HD (не сразу качество улучшается)
3) часто делал стоп-кадр перед следующей операцией. (особенно перед набором команды сборки в 2е строки)
4) у меня собирало явно дольше 40 минут... думаю часа 1.5 щелкало раз в секунду-две, но возможно это из-за хрома, забравшего 80% проца и памяти на 50 закладках.

Ваша ссылка под MinGW, а моя под CodeBlocs!!! Компиляция - это малая часть настройки! Нужно было собранное еще и правильно подключить к IDE. Конечная цель была "начать рисовать окошки в CodeBlocs в удобном редакторе - получить HelloWordl", а не круто и супер-адаптированно под хард собрать библиотеку wxWidgets...
0
1 / 1 / 2
Регистрация: 03.04.2013
Сообщений: 48
25.10.2016, 16:24 18
Как раз есть проблема по теме.

Поставил связку WxWidgets 3.0.2 + CodeBlocks 16.01 + TDM-GCC-32

WxWidgets скомпилировал с такими параметрами
Bash
1
2
3
mingw32-make -f makefile.gcc clean
mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-std=gnu++11
mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-std=gnu++11
При компиляции проеката получаю ошибку
ld exe cannot find -lwxmsw30u

Добавлено через 2 часа 22 минуты
Дополню.
В режиме Debug проект компилится. А вот в Realese эта ошибка .
0
398 / 137 / 44
Регистрация: 02.06.2016
Сообщений: 308
27.10.2016, 00:25 19
При сборке самой wxWidgets для релиза, тоже нужно было указать SHARED=0. И при создании проекта, CodeBlocks должен был ругнуться.
0
1 / 1 / 2
Регистрация: 03.04.2013
Сообщений: 48
27.10.2016, 13:49 20
Да конечно же, SHARED=0, это просто опечатка в сообщении. Компилировал один в один обе строки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2016, 13:49

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe"
Захожу на сайт хочу скачать codeblocks чтобы на нем изучать си++ , толька н могу понять разницы...

Как написать регулярное выражение для выдергивания английских букв и символов: "+", ",", ":", "-", " ", "!", "?" и "."
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло",...

Код "Borland C" преобразовать "Си"(MinGW)
Всем привет! Программа сортировки по убыванию: #include <vcl.h> #include <windows.h> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.