![]() |
|
![]() ![]() ![]() |
|
Acer |
|
||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Хочу рассказать, как скомпилить программу с помощью Qt под вендой.
Я пользуюсь NetBeans IDE 6.1 по этому расскажу, как компилить Qt с помощью этой IDE. Устанавливаем MinGW в директорию C:\MinGW. Устанавливаем MSys (у меня версия 1.0 по этому путь C:\msys\1.0 ) куда просит инсталятор. Устанавливаем Qt в директорию по умолчанию ( C:\Qt\4.4.0 ) Прописываем в переменные окружения(PATH) пути C:\MinGW\bin; C:\Qt\4.4.0\bin Перегружаем комп. Заменяем C:\MinGW\bin\mingw32-make.exe на C:\msys\1.0\bin\make.exe (для того, чтобы компилился C++) В настройках IDE( Tools -> Options -> C/C++ -> Build Tools ) указываем компоненты из C:\MinGW\bin. Она сама найдет компиляторы, которые ей надо. Создаем новый проект C/C++ Aplication. В свойствах проекта во вкладке Build -> C++ Compiler в Include Directories указываем путь C:\Qt\4.4.0\include Пишем минимальное приложение с использованием Qt:
Через консоль заходим в директорию с нашим проектом. Например D:\CppProjects\test затем выполняем команды
Открываем IDE, открываем файл Makefile и заменяем строку
на эту
жмем Build Main Project( F11 ) Qt скомпилированно ![]() потом заходим в D:\CppProjects\test\release и запускаем test.exe Если будут проблемы с путями, то есть, например, компилятор будет ругаться на что-то типа
если сорцы лежат в директории src то нужно в файле Makefile.Release так же изменить пути с вендовых на никсовые. то есть изменить "\" на "/". Еще один нюанс. При добавлении/удалении файлов необходимо выполнять команды
Это сообщение отредактировал(а) Acer - 20.6.2008, 09:54 |
||||||||||||
|
|||||||||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Acer, начнем с того, а зачем собственно компилировать QT по виндой, да еще и из-под NetBeans?
А потом, ты документацию на QT не читал вообще? Там же черным по белому написано подключать заголовочные файлы без указания расширения:
http://doc.trolltech.com/4.4/mainwindows-application.html |
|||
|
||||
Acer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Давай начнем вот с этого: 1. Каждый пишет в той среде, в которой ему удобно 2. Каждый компилит под той платформой, под которой нужно выполнять задачи 3. Зачем мне импортировать все библиотеки, если нужно использовать только 2? 4. Каждый подключает то, что ему надо и там, где ему надо. |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
С п.п. 1 и 2 я не спорю. Вот только не могу понять, зачем тебе компилировать QT (это такая библиотека, если ты не знал, а не программа ее использующая) да еще и из-под NetBeans? Ведь вся компиляция осуществляется из командной строки, зачем геморроиться со средой разработки, когда собрать нужно только один раз (ты же не собираешься переписывать QT?) 3. Про precompiled headers слышал? Если бы слышал, то не спрашивал бы, так как на скорость сборки подключение QtGui уже не влияет, а количество мороки заметно сокращает. 4. "Каждый ходит там где хочет, а не там где предписано. А когда на голову падает кирпич, возмущается." Делать надо так, как написано в документации. Если завтра поменяют расширение с h на hpp или hxx, то только у таких как ты программа не будет собираться. Так как никто не обещал, что подобный способ подключения заголовочных файлов будет работать. |
|||
|
||||
JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
Тут я не очень соглашусь. Лично мне абсолютно не хочется включать ненужное, я
не юзаю, это сродни
Имхо, конечно. Насчёт всего остального полностью согласен. |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
JackYF, с QtGui я и не настаивал.
![]() |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
bsa, извини Это сообщение отредактировал(а) Acer - 20.6.2008, 08:22 |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Понял свою ошибку. В следующий раз буду внимательней.
|
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
Модератор: Сообщение скрыто. -------------------- ![]() обычный день на винграде |
|||
|
||||
Acer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 5.9.2007 Где: UA::DN Репутация: 15 Всего: 8 |
Вобщем проблема была с путями.. То есть компилятор ругался, шо не может найти путь типа
Я написал небольшое приложение, которое все исправляет. То есть: Создаем проект в нетбинсе, пишем там код с юзанием Qt, потом копируем прогу( прикреплена к сообщению ) в директорию с проектом, запускаем. И потом уже компилим в нетбинсе бинарник... При добавлении/удалении файлов из проекта необходимо повторно запускать мою программульку. Это сообщение отредактировал(а) Acer - 5.7.2008, 18:08 Присоединённый файл ( Кол-во скачиваний: 19 ) ![]() |
|||
|
||||
Mabramyan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 3.7.2007 Где: Алматы Репутация: нет Всего: нет |
Можно просто поменять настройки конфига. А именно изменить файл QT\mkspecs\win32-g++\qmake.conf
Где QT - это дирректория с QT Поменять: QMAKE_MOC=... QMAKE_UIC=... QMAKE_IDC=... на QMAKE_MOC = QT/bin/moc.exe QMAKE_UIC = QT/bin/uic.exe QMAKE_IDC = QT/bin/idc.exe |
|||
|
||||
dix75 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 462 Регистрация: 17.7.2007 Репутация: 1 Всего: 1 |
Acer,
Максимальная версия Netbeans которая поддерживает Qt это 6.9.1 Все последующии версии при сборке вылетают с ошибками, постил ошибки в багтрекер NetBeans все без результатно. Поэтому все-таки пересел на QtCreator. [/code] Это сообщение отредактировал(а) dix75 - 23.2.2013, 01:04 -------------------- save your mind |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |