Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Дайте компилятор с++ с qt под винду


Автор: Валерия 2.3.2009, 11:53
Хочу заниматься разработкой под винду, но что бы в случае чего можно было не изменяя код скомпилить моё творение под никсы.
Визуальный редактор форм не интересен, хочу окна и кнопки прописывать сама в коде.
Какой сейчас актуальный компилятор под винду с нормально работающим QT?
Ссылочку пожалуйста на инсталлер smile

Автор: cutwater 2.3.2009, 12:02
Тогда компилятор наверно будет только MinGW, не знаю как с Visual Studio (я когда последний раз пользовался VS и opensource qt (без интегратора) получил много фана и зарекся от таких экспериментов)
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780
http://www.mingw.org/

В качестве IDE могу порекоммендовать Eclipse CDT + QT integrator (для опенсорс)

Автор: SABROG 2.3.2009, 12:04
Цитата(Валерия @  2.3.2009,  11:53 Найти цитируемый пост)
актуальный компилятор под винду с нормально работающим QT

А какие компиляторы работают с Qt не нормально?

Цитата(Валерия @  2.3.2009,  11:53 Найти цитируемый пост)
Визуальный редактор форм не интересен, хочу окна и кнопки прописывать сама в коде.

У Qt в этом плане нет ограничений, хоть сам рисуй.

QtCreator - all inclusive (MinGW). Правда под Win2000 работает отвратительно.
ftp://ftp.trolltech.com/qtcreator/qtcreator-0.9.2-rc1-windows-bundle-setup.exe

Автор: Torsten 2.3.2009, 12:05
Компилятор значение не имеет, если знать как правильно писать код.
Поэтому вопросы, так чтобы и на никсах компилилось - это вопросы к разработчику.
Посему, для винды рекомендую MS Visual Studio + qt integrator.

Могу за себя сказать, мои приложения, которыми я баловался, я писал для никсов, при этом писал их в студии под виндой, и никаких проблем с компиляцией под никсами не испытывал, при использовании библиотек QT/STL/Boost. Проблемы были только с Qt, потому что есть вещи которые в винде и никсах выглядят по разному (я имею в виду графические элементы, их мелкие детали), хотя решались они относительно не трудно.

Автор: SABROG 2.3.2009, 12:09
Цитата(Torsten @  2.3.2009,  12:05 Найти цитируемый пост)
Компилятор значение не имеет, если знать как правильно писать код.

Правильно, но если человек не знает какой компилятор выбрать, значит разницы между ними не знает, а стало быть и не знает как не надо писать в msvc, чтобы это всегда собиралось в gcc (под никсами).

Автор: Валерия 2.3.2009, 12:31
Отож, и хотелось бы где-то почитать сравнение компиляторов/сред, библиотек для окон и тп, для кросплатформенных разработок.

Автор: ilyuha 2.3.2009, 12:46
имхо, самая удобная IDE - QtCreator. дезайнер реализован очень хорошо и редактор кода сравним с VS+VisualAssistX.
единственное - сыровата. иногда просто молча падает. так что, надо сохранять все изменения почаще smile 

Автор: cutwater 2.3.2009, 12:59
Цитата(Torsten @  2.3.2009,  11:05 Найти цитируемый пост)
Посему, для винды рекомендую MS Visual Studio + qt integrator.


Qt integrator для VS только в коммерческой версии.
А варез не хорошо.

Автор: pan2004 2.3.2009, 16:36
Для Qt Open Source под Windows выбора особо никакого нет - официально поддерживается только MinGW. Другое дело, можно взять его например в http://www.tdragon.net/recentgcc/, с актуальной версией gcc(в офиц версии MinGW используется уже старая версия gcc 3.5.1)

Автор: Acer 2.3.2009, 16:46
http://forum.vingrad.ru/forum/topic-195610.html
http://www.gamedev.ru/code/forum/?id=76499

Автор: Валерия 2.3.2009, 19:34
Нашла что искала
http://habrahabr.ru/blogs/development/30636/

Автор: Acer 2.3.2009, 19:43
Цитата(Валерия @ 2.3.2009,  12:31)
хотелось бы где-то почитать сравнение компиляторов/сред, библиотек для окон и тп, для кросплатформенных разработок.

Цитата(Валерия @ 2.3.2009,  19:34)
Нашла что искала
http://habrahabr.ru/blogs/development/30636/(Eclipse + QT: установка и настройка)

....
Это от того, что ты женщина?

Автор: Валерия 2.3.2009, 20:00
От того что начинающая в с++ не под консолью с досовским компилятором которым пользуюсь, 91го года)

Автор: Любитель 2.3.2009, 20:16
Цитата(SABROG @  2.3.2009,  12:04 Найти цитируемый пост)
А какие компиляторы работают с Qt не нормально?

Любые, которые Qt официально не поддерживает. Тот же борланд, например.

Цитата(Torsten @  2.3.2009,  12:05 Найти цитируемый пост)
Компилятор значение не имеет, если знать как правильно писать код.
Поэтому вопросы, так чтобы и на никсах компилилось - это вопросы к разработчику.

У гцц, и msvc очень много всяких особенностей и специфических фич. При отсутствии опыта - лучше вначале работать только с гцц.

Цитата(pan2004 @  2.3.2009,  16:36 Найти цитируемый пост)
Для Qt Open Source под Windows выбора особо никакого нет - официально поддерживается только MinGW

Ничего подобного. Официально поддерживаются MinGW и MSVC++. Уже не раз обсуждалось.

Цитата(Валерия @  2.3.2009,  20:00 Найти цитируемый пост)
От того что начинающая в с++ не под консолью с досовским компилятором которым пользуюсь, 91го года) 

Несовсем понял фразы, но вообще для начала (чтобы не заниматься ненужной настройкой ИДЕ) советовал бы либо хороший эдитор + MinGW (собрать с консоли не проблема), либо QtCreator. Но это, конечно, сугубо моё мнение.

Автор: Валерия 2.3.2009, 20:26
QtCreator жудко глючит, вначале еще хоть как то работал, а сейчас вообще при компиляции полоска до 2/3 доходит и всё, ничего не выдает, никаких ошибок.
Я имею ввиду что я раньше программировала только под консоль на досе.

Автор: Любитель 2.3.2009, 20:30
Цитата(Валерия @  2.3.2009,  20:26 Найти цитируемый пост)
QtCreator жудко глючит, вначале еще хоть как то работал, а сейчас вообще при компиляции полоска до 2/3 доходит и всё, ничего не выдает, никаких ошибок.

1. Какая версия? Не забываем, что проект недавно развивается и как следствие..
2. А в output что при этом написано?

Автор: Acer 2.3.2009, 20:56
Валерия, на мой взгляд http://www.qtsoftware.com/downloads/opensource/appdev/windows-cpp + http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-cpp-ganymede-SR2-win32.zip + http://sourceforge.net/project/showfiles.php?group_id=2435 + http://www.qtsoftware.com/developer/eclipse-integration

1. Распаковываем Eclipse(для работоспособности Eclipse нужна java машина)
2. Устанавливаем MinGW(можно скачать инсталятор, который через инет скачает нужные пакеты и установит, можно все по отдельности)
3. Устанавливаем Qt
4. Устанавливаем Eclipse Integration(следуя указаниям инсталятора все просто)
5. Пишем код и компилим.
6. Сборка будет динамическая, то есть в зависимости от потребностей приложения нужно будет таскать за собой библиотеки Qt, а так же в обязательном порядке mingwm10.dll (CRT)

Автор: Валерия 2.3.2009, 21:11
А можно будет получить файлик exe небольшого размера, простейший "Hello world" в окне, но что бы никаких лишних dll?

Автор: pan2004 2.3.2009, 21:14
Цитата(Валерия @  2.3.2009,  21:11 Найти цитируемый пост)
А можно будет получить файлик exe небольшого размера, простейший "Hello world" в окне, но что бы никаких лишних dll?

Пиши на чистом WinAPI, без всяких там Qt, получишь

Добавлено через 1 минуту и 48 секунд
Цитата(Любитель @  2.3.2009,  20:30 Найти цитируемый пост)
 Не забываем, что проект недавно развивается и как следствие..

да и не надо забывать, что даже 1.0 еще не вышла

Автор: Валерия 2.3.2009, 21:32
Цитата(pan2004 @  2.3.2009,  21:14 Найти цитируемый пост)
Пиши на чистом WinAPI, без всяких там Qt, получишь

Даже GTK+ не спасёт?
На винапи не очень хочцо...

Автор: pan2004 2.3.2009, 21:45
Валерия, зачем тебе Qt если ты только хеловорлды хочешь писать? Это все равно что брать БелАЗ в качестве персонального авто).
а с GTK+ та же фигня(как и с любыми другими библиотеками) - если ты пользуешься ими, придется тащить их за собой.

Автор: SABROG 2.3.2009, 22:13
Цитата(Валерия @ 2.3.2009,  21:32)
Цитата(pan2004 @  2.3.2009,  21:14 Найти цитируемый пост)
Пиши на чистом WinAPI, без всяких там Qt, получишь

Даже GTK+ не спасёт?
На винапи не очень хочцо...

Для каждой задачи есть свои инструменты. При желании можно очень многое наворотить обычными .bat файлами или shell скриптами. Exe'шник со всеми известными изворотами над Qt, для программы типа "Hello, world", менее 7Мб ты не получишь. Надо все таскать с собой, пока библиотеки Qt не станут стандартом де-факто как виртуальная машина Java. 

Нет, ну правда качать несколько ДВД рипов новой игры, скажем размером в 12 гигов, никого не коробит, а установить программу написанную на Qt через инсталлер уже проблема. Дай Бог чтобы весила еще больше, т.к. функционала прибавится также больше. Просто если посидеть и разобраться как там все завязано между собой станет сразу понятно, что все это нужно.

Автор: pan2004 2.3.2009, 23:33
ну на линуксе Qt уже давно стандарт... Так что там исполняемые файлы меньше весят

Автор: SABROG 2.3.2009, 23:37
Цитата(pan2004 @  2.3.2009,  23:33 Найти цитируемый пост)
ну на линуксе Qt уже давно стандарт... Так что там исполняемые файлы меньше весят 

В линуксе другая проблема - предустановленная версия Qt. Т.е. может понадобится обновление сделать.

Автор: chaos 3.3.2009, 09:24
Цитата(pan2004 @ 2.3.2009,  13:36)
Для Qt Open Source под Windows выбора особо никакого нет - официально поддерживается только MinGW.

чо за бред?
посмотри мою подпись - QT 4 Спокойно собирается с помощью VC++ 2008 Express Edition


ЗЫ вот MS VC++ Embedded 4.0 офф не поддердживается, но у меня есть желание прикрутить, но пока времени нет smile

ЗЫЫ smile мой выбор http://www.microsoft.com/express/vc/

Автор: chaos 3.3.2009, 12:15
Цитата(pan2004 @ 2.3.2009,  20:33)
ну на линуксе Qt уже давно стандарт... Так что там исполняемые файлы меньше весят

расскажите пжалуйста причинно следственную связь про меньше весит? smile
вот например если посмотреть на либы кутэшные, так мало чем размер отличается от циндоваго или маковского

Код

-rw-r--r--  1 root  root   9441808 2009-01-20 16:27 libQtGui.so.4.4.3
-rw-r--r--  1 root  root   9028496 2009-01-20 16:27 libQtWebKit.so.4.4.3
-rw-r--r--  1 root  root   3149892 2009-01-20 16:27 libQt3Support.so.4.4.3
-rw-r--r--  1 root  root   3089248 2009-01-20 16:27 libQtDesigner.so.4.4.3
-rw-r--r--  1 root  root   2407956 2009-01-20 16:27 libQtDesignerComponents.so.4.4.3
-rw-r--r--  1 root  root   2370492 2009-01-20 16:27 libQtXmlPatterns.so.4.4.3
-rw-r--r--  1 root  root   2277508 2009-01-20 16:27 libQtCore.so.4.4.3
-rw-r--r--  1 root  root   1045168 2009-01-20 16:27 libQtNetwork.so.4.4.3
-rw-r--r--  1 root  root   1014944 2009-01-20 16:27 libQtScript.so.4.4.3
-rw-r--r--  1 root  root    928624 2009-01-20 16:27 libQtCLucene.so.4.4.3
-rw-r--r--  1 root  root    495008 2009-01-20 16:27 libQtOpenGL.so.4.4.3
-rw-r--r--  1 root  root    486668 2009-01-20 16:27 libQtHelp.so.4.4.3
-rw-r--r--  1 root  root    445708 2009-01-20 16:27 libQtDBus.so.4.4.3
-rw-r--r--  1 root  root    314304 2009-01-20 16:27 libQtSvg.so.4.4.3
-rw-r--r--  1 root  root    272588 2009-01-20 16:27 libQtXml.so.4.4.3
-rw-r--r--  1 root  root    240224 2009-01-20 16:27 libQtSql.so.4.4.3
-rw-r--r--  1 root  root     67352 2009-01-20 16:27 libQtTest.so.4.4.3
-rw-r--r--  1 root  root     26220 2009-01-20 16:27 libQtAssistantClient.so.4.4.3


Добавлено через 1 минуту и 16 секунд
причем либы стрипнутые

Автор: Любитель 3.3.2009, 13:50
chaos, речь про то, что при разработке программы под никсы не надо думать о том, чтобы таскать Qt с тобой. Достаточно правильно прописать в пакете зависимости. Если надо - Qt поставится сердствами пакетного менеджера.

Автор: pan2004 3.3.2009, 16:50
Цитата(chaos @  3.3.2009,  09:24 Найти цитируемый пост)
официально поддерживается только MinGW.

да это действительно не так, но раньше приходилось вызывать qmake etc самому, или доставать интегратор для студии.
Сейчас с выходом Qt 4.5 на http://www.qtsoftware.com/downloads появилась возможность открыто загрузить Visual Studio Add-in - Beta(для любых Qt лицензий)

Автор: Torsten 3.3.2009, 17:13
Цитата(SABROG @  2.3.2009,  22:13 Найти цитируемый пост)
Нет, ну правда качать несколько ДВД рипов новой игры, скажем размером в 12 гигов, никого не коробит, а установить программу написанную на Qt через инсталлер уже проблема. Дай Бог чтобы весила еще больше, т.к. функционала прибавится также больше. Просто если посидеть и разобраться как там все завязано между собой станет сразу понятно, что все это нужно.


ага я вот тоже заметил некоторую помешенность у некоторых личностей (даже среди моих друзей такие есть) на размер программы.
тем не менее купить игрушку у которой написано 26 гб свободного места на винте - ни для кого сейчас не проблема.

Добавлено @ 17:14
Цитата(Любитель @  2.3.2009,  20:16 Найти цитируемый пост)
У гцц, и msvc очень много всяких особенностей и специфических фич. При отсутствии опыта - лучше вначале работать только с гцц.

если ты эти особенности не знаешь, то и использовать не будешь. При использовании Qt тем более, т.к. там уже все кросс-платформенно сделано.

Следовательно, от IDE и ОС - ничего не зависит, кроме того с какой легкостью будет писатся код.
То что под виндой легче всего писать под студией наверное ни у кого возражений не вызывает ?
Вот поэтому я и советовал студию. Это и в будующем может пригодится, не будешь же ли ты в резюме писать имею опыт работу с qt creator.

Автор: Любитель 3.3.2009, 18:00
Цитата(Torsten @  3.3.2009,  17:13 Найти цитируемый пост)
если ты эти особенности не знаешь, то и использовать не будешь. При использовании Qt тем более, т.к. там уже все кросс-платформенно сделано.

Не согласен. Ту же pragma once с VC++ многие начинают использовать. Или в гцц массивы на стеке с динамическим размером.

Цитата(Torsten @  3.3.2009,  17:13 Найти цитируемый пост)
Это и в будующем может пригодится, не будешь же ли ты в резюме писать имею опыт работу с qt creator.

Если собираешь зарабатывать на Qt-девелопменте, то почему нет? Да и вообще в 99% случае Qt-разработчики нужны как linux-девелоперы. Какая тут студия?! Почитайте реальные вакансии smile

Автор: SABROG 3.3.2009, 18:25
Цитата(Любитель @  3.3.2009,  18:00 Найти цитируемый пост)
Ту же pragma once с VC++ многие начинают использовать

Разработчики gcc вроде как тоже включили эту препроцессорную директиву найдя её полезной.

Автор: Любитель 3.3.2009, 18:39
Ну не знаю, если честно - быть может. Не в этом суть, а в том, что множество специфических возможностей можно применять, не зная, что они специфические.

Автор: Torsten 4.3.2009, 18:05
Цитата(Любитель @  3.3.2009,  18:00 Найти цитируемый пост)
Не согласен. Ту же pragma once с VC++ многие начинают использовать. Или в гцц массивы на стеке с динамическим размером.


круто, есть еще что-нибудь ? Я думаю кроме прагмы, которую

Цитата(SABROG @  3.3.2009,  18:25 Найти цитируемый пост)
азработчики gcc вроде как тоже включили эту препроцессорную директиву найдя её полезной.


больше примеров не найдется.

Хотя что касается меня - я прагму ни там, ни там не использую. Именно не использую, т.к. появится она может только при использовании визардов всяких.

Цитата(Любитель @  3.3.2009,  18:00 Найти цитируемый пост)
Если собираешь зарабатывать на Qt-девелопменте, то почему нет? Да и вообще в 99% случае Qt-разработчики нужны как linux-девелоперы. Какая тут студия?! Почитайте реальные вакансии 

и много щас qt девелоперов требуются ?
вбил в гугл, там только в Киеве/Харькове какой-то требуются.
И ушь если смотретья обьялвенния, их можно разбить на 2 группы :
системное программирование под никсы, под винду и всегда указыватется требования - MS Visual Studio, это можно сказать стандарт де-факто под винду.

Автор: Любитель 4.3.2009, 18:47
Цитата(Torsten @  4.3.2009,  18:05 Найти цитируемый пост)
больше примеров не найдется.

Ну.. Енумы с указанием типа, стрикт-обращение к элементам енумов, всякие фичи в STL-итераторах для дебага, куча особенностей с поведением темплейтов. Вспомним, к слову, что при выходе VS 2005 SP1 текущая версия Qt на тот момент вообще не собиралась (из-за особенностей с предварительным декларированием темплейтов в QHash, QSet и пр.).

Цитата(Torsten @  4.3.2009,  18:05 Найти цитируемый пост)
и много щас qt девелоперов требуются ?

Нет. Не много. Даже так - очень мало. Вообще С++-девелоперов мало требуется. И в основном это системное программирование. Но вот, если человек собирается Qt изучать - то.. я думаю речь о Qt (не уверен, что в принципе речь о коммерческой разработке, но что речь о Qt - это точно). А опыт работы с VS.. Опыт работы с ИДЕ ценен, но в последнюю очередь. Если бы речь шла о системном программировании под винду - я бы без сомнения порекомендовал VS. И был бы против других вариантов. Но.. речь то о другом ;)

И ещё - просьба быть повежливее smile

Автор: just_geek 4.3.2009, 20:11
Цитата

Именно не использую, т.к. появится она может только при использовании визардов всяких.

Расшифруй пожалуйста smile

Автор: SABROG 4.3.2009, 20:18
Цитата(just_geek @  4.3.2009,  20:11 Найти цитируемый пост)
Расшифруй пожалуйста smile 

Читай кодогенераторов/шаблонов в любимой IDE. Если программу начинать писать в блокноте, то тебе и на ум не придет прописывать pragma once, т.к. ты еще не запутался в количестве хедеров и как они между собой завязаны, и нет необходимости задумываться "а что-то медленно компилируется все, может у меня один и тот же хедер по 100 раз включается в других модулях?".

Автор: just_geek 4.3.2009, 20:46
Я вот всегда пишу. Ибо писать меньше, да и есть прирость некоторый в компиляци.

Автор: pan2004 4.3.2009, 20:59
Откуда может быть прирост скорости компиляции при #pragma once? Разве это не одно и то же что #ifndef MYHEADER #define MYHEADER ... #endif?

Автор: just_geek 4.3.2009, 21:10
Прирост оттуда, что препроцессору не приходится парсить хедер до конца в поисках #endif

Автор: pan2004 4.3.2009, 21:14
Цитата(just_geek @  4.3.2009,  21:10 Найти цитируемый пост)
препроцессору не приходится парсить хедер до конца в поисках #endif

интересно сколько при этом миллисекунд мы выигрываем...  smile 

Автор: SABROG 4.3.2009, 21:21
Цитата(pan2004 @ 4.3.2009,  21:14)
Цитата(just_geek @  4.3.2009,  21:10 Найти цитируемый пост)
препроцессору не приходится парсить хедер до конца в поисках #endif

интересно сколько при этом миллисекунд мы выигрываем...  smile

Вот например. http://www.gamearchitect.net/Articles/ExperimentsWithIncludes.html

Но http://c2.com/cgi/wiki?RedundantIncludeGuards конечно покруче будет, но слишком уж муторное и не красивое использование.

Тема конечно о другом...

Автор: Любитель 5.3.2009, 00:46
Цитата(pan2004 @  4.3.2009,  21:14 Найти цитируемый пост)
интересно сколько при этом миллисекунд мы выигрываем...

На приличных проектах на самом деле выигрывается немало времени. Но, действительно, не об этом речь smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)