| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT4] MinGW и VC6 соперничают в компиляции |
| Автор: neosapient 6.4.2008, 19:46 | ||||||||
| Начал учить QT4, решил создать "лабораторный стенд", но возникают проблемы с компиляцией. Вызывается компилятор и от MinGW и от VC6. Как разграничить "область видимости" компиляторов, при этом не запороть пути PATH Чуточку истории. Стоит у меня Windows XP SP2 Стоит паралельно VC6 и VC7.1 Решил, попробовать QT4. Скачал бесплатную версию, собрал через командную строку (батник из VC7.1). Прописал настройки PATH в настройках винды, заметил, что там уже прописалась VC6 и путь к папке system32. Так же прописал LIB и INCLUDE (ну, не все инклуды а только к общей папке, подпапки было лень прописывать, да и побоялся что места не хватит в строке для прописывания). Потренировался собирать стандартные примеры, через командную строку. При этом использовал батник от VC7.1, так как батника ведущего к VC6 не нашел. стандартная строка батника
Потом нашел и для VC6 (расположение по умолчанию)
---------- Все это хорошо, но как человек воспитаный на фастфуде от M$ ( имею ввиду IDE = Visual Studio) захотелось мне такого же IDE ( тем более под большим влиянием от QDesigner) Но тут наступил облом, вычетал, что связка с VC платная :( Опущу мои метания, когда искал/выбирал/сравнивал всё что было в наличии. Затем вполне закономерно набрел на следующую статью и по достоинству оценил http://ru.opensuse.org/QT#.D0.98.D0.BD.D1.82.D0.B5.D0.B3.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.B0.D1.8F_.D1.81.D1.80.D0.B5.D0.B4.D0.B0_.D1.80.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B8 (Кстати, объясните на пальцах про KDE ? KDevelop существует только в никсах ?) Собствено рассмотрел раздел "Интегрированная среда разработки" Понял, что к собраной QT4 мне надо ещё докачать 1) оболочку QDevelop (http://qdevelop.org/) 2) компилятор MinGW (http://www.mingw.org/download.shtml) 3) ctags (например, http://prdownloads.sourceforge.net/ctags/ec57w32.zip)) 4) пересобрал QT4 с параметром "configure -platform win32-g++" Всё установил, указал в окне инструментов, где что лежит - все галочки стали зелеными. По перегружал машину. В итоге имею две проблемы: 1) При запуске QDevelop всплывает окно (картинка прикреплена к посту),
Если кто с этим сталкивался, как решить проблему ? Как я понимаю, гдето в настройках QDevelop, можно дописывать расположение INCLUDE, где это находиться в меню? 2) Открыл проект (qt\examples\tutorial\t1), попробовал собрать... Полезли ошибки Первые строчки говорят MinGW откомпилил нормально, а затем проявился VC6 и сообщения об ошибках. Подозреваю, что дело в прописаных подряд путях PATH в настройках Windows Прошу вас помочь и расказать как ужиться VC и MinGW ?
|
| Автор: archimed7592 6.4.2008, 20:26 |
| В переменных окружения нужно убрать переменные INCLUDE, LIB и прочую ересь, понатыканную VC. Делать это здесь: компьютер->свойства->дополнительно->переменные среды computer->properties->advanced->environment variables |
| Автор: neosapient 6.4.2008, 21:47 | ||
Ну так я об этом месте и говорил, когда говорил о "путях в настройках Windows" 3 из 3) Есть ли способ отвязаться, или проще будет паралельно установить чистую от VC операционку, и развернуть QDevelop там? P.S. ну и два других вопроса: 2 из 3) где то в настройках QDevelop, можно дописывать расположение INCLUDE, где это находиться в меню? 1 из 3) Объясните на пальцах про KDE ? KDevelop существует только в никсах ? |
| Автор: archimed7592 6.4.2008, 22:08 |
| Не понимаю тебя... Просто удали эти переменные среды и будет тебе и VC работать и MinGW. Добавлено через 22 секунды Не знаю. |
| Автор: neosapient 6.4.2008, 22:19 | ||||||||||
Хм, ну удалил, точнее оставил так
Перегрузился, проверил, создал проекты в VC6 и в VC7.1 - всё компилиться и работает (как минимум базовые заготовки) Опять открыл QDevelop, Все равно при открытии появляется окно с предупреждением (о котором я писал в первом посте)
Запустил сборку проектатеперь ругается меньше, в чем может быть причина?
Конец решил вынести в отдельный блок
|
| Автор: archimed7592 7.4.2008, 10:03 |
| Эмм, скажи мне, дружок, у тебя Qt в одном экземпляре? По идее должно быть 2: один собраный под MinGW, второй под VC. INCLUDE и LIB удали совсем - они не нужны ни VC ни MinGW, а порой могут стать причиной ошибки. |
| Автор: neosapient 8.4.2008, 00:17 | ||||||||||||
Удалил, теперь окна с сообщением не появляется
Ну да, щас ещё раз пересобрал QT4 под MinGW так как под win32 есть лишь - win32-borland - win32-g++ - win32-msvc - win32-msvc2005 - win32-msvc.net Выбрал для сборки win32-g++
После сборки было написано
запустил mingw32-make, он выдал
Что дальше ? теперь видно, что ничего не собирается |
| Автор: neosapient 8.4.2008, 06:48 | ||||||||
Сделал батник
и второй, для вызова первого
Теперь, все QT4 собралось под MinGW Запускаю QDevelop, ытаюсь собрать проект, а он опять выдает неинформативные ошибки
|
| Автор: Elfebet 8.4.2008, 09:19 | ||
1. пропиши пути к минжв и кьюте в переменных средах 2. пропиши пути в QDevelop: инструменты -> инструменты. 3. когда открыл или создал проект первый раз в QDevelop, выбери проект->своиства проекта, и повторно выставь debug или релиз. |
| Автор: neosapient 8.4.2008, 23:33 | ||||||
| Ур-ра заработало но не всё Ошибка , возникала из-за того что вызывался проект,который был собран намного ранее для VC6 а не для MinGW
Просто надо было выбрать проект собраный для MinGW, а у меня открывался собраный под VC6 Далее
Прописал, но при самостоятельном запуске программ, по указаным путям PATH="C:\WINDOWS\system32;C:\qt-MinGW\bin;C:\qt-MinGW\qmake;C:\MinGW\bin;" не находяться нужные dll-ки
Прописал и добавил. К слову о ненайденых путях, в QDevelop меню Отладка->Параметры содержалась устарелая копия путей к минжв и кьюте в переменных средах Пришлось их подправить, и тогда в отладочном режиме проекты стали запускаться Но проблемка ненайденых, но прописаных путей в переменных средах, осталась Как устроить статическую сборку? Раставил брейкпоинты (сразу после main() да и по всему телу программы), но в них программа не попадает, как решить? |
| Автор: Elfebet 9.4.2008, 09:27 | ||||||
ты пропиши пути к папке минжв и минжв\bin и кьюте и кьюте\bin путь "MinGW\qmake" - не нужен ты же ставил кьюте опенсоурс с готовыми длл-ками, правильно?
О-о-о. вообще-то это сущий гемор. Лучше динамическую сборку. Хотя можеш поискать по форуму - это где-то уже обсуждалось.
Эм... Это глюки QDevelop, это программа не идеальная. |
| Автор: neosapient 9.4.2008, 17:10 | ||||
хорошо, займусь поиском позже
Кроме QDevelop, слышал про KDevelop. KDevelop - он "сырой" ? Слышал, что KDevelop работает только в Unix, это правда? Просто про сборку в виндовс информацию не нашел? |
| Автор: Elfebet 9.4.2008, 18:20 |
| KDevelop - for Unix! как по мне под виндовс так лучше всего юзать Visual Studio 2005 как работать в кьюте через Visual Studio 2005 - ссылок валом поищи, гугл в помощь самый простой вариант купить лицензию на кьюте и поставить интегратор кьюте в студию хотя опенсоурс интегрировать в студию не составить труда, поищи на этом форуме и глянь еще сюда http://prog.org.ru/forum/index.php/board,48.0.html - там сто пудово я находил |
| Автор: neosapient 10.4.2008, 00:00 | ||||
Так-с, ну тут такие вопросы: 1) Надеюсь в VC2005 будут коректно обрабатываться брейкпоинты, раставленые по коду QT? Почти уверен что "да", но пока руки недошли проверить, решил задать этот реторический вопрос. 2) Вот есть такая удобная функциональность в VC6, VC7 и VC2005, что при использовании объекта класса, набрав его имя и поставив опратор вызова переменной/метода ("." или "->") раскрывалось менюшка со всеми переменными и методами. Для классов QT такая менюшка списка переменных и методов не раскрывается, как включить её (функциональность) ?
Где ж студенту на лицензию заработать )) Или имеется ввиду, что менюшка списка переменных и методов объекта класса поставляется только в лицензии ? |
| Автор: Elfebet 10.4.2008, 09:04 | ||||
да
раскрывается |