Название: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 03, 2007, 16:42 Добрый день. В порядке изучения qt и самообразования переделал свою старую виндовую прогу под линукс. Использовал qt 3.3.4. На свою голову добавил некоторые новые возможности. Один из пользователей виндового старого варианта увидел её и теперь взял за горло, хочет такую же, только под винду.
Поэтому обращаюсь за советом: Код готовый есть, писать новый лень, надо только откомпилировать его под виндой. Под виндой пользуюсь консольным вариантом vc++ 2003, т.е студии как таковой нет, просто cl.exe, link.exe и набор либ и хидеров. Компилирую из батника. Что лучше использовать в такой ситуации? Насколько много переделок кода потребуется, если использовать пакет qt-win-commercial-desktop-4.0.0-vs2003.exe или пакет qt-win-eval-desktop-4.0.0-vs2003.exe ? И насколько удачно они будут совместимы с моим компилятором? У кого-нибудь есть опыт использования консольного варианта и qt? А то нет уверенности, что удастся настроить эту пару для работы вместе (особенно в части nmake или как его там) Есть qt-win-commercial-3.3.8 с лекарством на qt.tttxp.ru, тоже непонятно, насколько он будет совместим с моим компилятором? Столько слов было сказано, что ms компиляторы то ли поддерживаются, то ли не поддерживаются, и не знаешь, что и выбирать :( Что посоветуете? Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: denka от Сентябрь 03, 2007, 16:52 На сколько я знаю: что Qt3, что Qt4 поддерживают VC++ 2003. Насчет перехода на четверку то тут зависит от того что ты использовал в своей программе так что помочь тебе может только раздел Porting from Qt 3 to Qt 4 :). Кстате 4.0.0 я думаю не самый лучшый выбор. Я бы на твоем месте брал 4.2.3 по крайней мере там исправлены многие ошибки предыдущих версий.
Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: QCasper от Сентябрь 03, 2007, 16:59 эээ.. а почему так принципиально использовать msvc? чем не угодил gcc?
Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 03, 2007, 17:39 Если нет желания с портированием кода под Qt4 (а скорее всего просто так это сделать не получится), то однозначно рекомендую поставить с Лесного базара Qt 3.3.8. Уже достаточно давно работаю с ней именно под VC++ 2003 и не заметил никаких проблем. Для сборки Qt в варианте студии вполне достаточно описанного набора (компилятор, линкер, либы,...). Только надо установку Qt запускать из батника, чтобы нашлись либы и хидеры. По поводу совместимости - код написанный на студии совершенно спокойно компилили в Линухе. Поэтому, если нет специфических вызовов - все должно пройти гладко.
Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 03, 2007, 17:44 Кстате 4.0.0 я думаю не самый лучшый выбор. Я бы на твоем месте брал 4.2.3 по крайней мере там исправлены многие ошибки предыдущих версий. Варианты с версией 4.0.0 всплыли потому, что на них есть ключи, а на 4.2.3 лекарства нет. В программе вроде ничего особенного не используется: QListView, QTextBrowser, QTabWidget, QLineEdit, QLabel, QPushButton. Есть ещё QSqlQuery (QMYSQL3), но под виндой я делал класс для работы с MySQL-сервером (примерный аналог QSqlQuery) на основе libmysql.dll, думаю его использовать. Надеюсь, эти классы принципиальных изменений не претерпели по сравнению с версией 3.3.4. эээ.. а почему так принципиально использовать msvc? чем не угодил gcc? Про gcc: не столько он не угодил, сколько его у меня нет, не знаю, стоит ли тягать ещё и его? С ним проще состыковаться? однозначно рекомендую поставить с Лесного базара Qt 3.3.8. А где этот Лесной базар располагается? Случаем не на qt.tttxp.ru ? Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Sergeich от Сентябрь 03, 2007, 18:39 Варианты с версией 4.0.0 всплыли потому, что на них есть ключи, а на 4.2.3 лекарства нет. Разве лицензия на базаре не подходит к 4.3.1 или 4.2.3?Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 03, 2007, 19:53 Разве лицензия на базаре не подходит к 4.3.1 или 4.2.3?
[/quote] Откуда же мне это знать :) Я не пробовал. Часто ведь бывает, что ключи к одной версии программы не подходят к другой. Поэтому уверенности нет. Но раз начальник базара сказал - видимо должны подойти :) В общем спасибо за советы. Попробую сначала qt3.3.8. Hellraiser, если что, далеко не прячся :)) Коль скоро у тебя есть опыт совмещения vc 2003 c qt3.3.8 может поможешь чем :) Если будет запарка - тогда буду пробовать 4.2.3 Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: QCasper от Сентябрь 04, 2007, 08:48 эээ.. а почему так принципиально использовать msvc? чем не угодил gcc? Про gcc: не столько он не угодил, сколько его у меня нет, не знаю, стоит ли тягать ещё и его? С ним проще состыковаться? С ним проще хотя бы потому, что не надо искать никаких ключей для коммерческих версий. Достаточно скачать OpenSource версию Qt. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 04, 2007, 16:49 С ним проще хотя бы потому, что не надо искать никаких ключей для коммерческих версий. Достаточно скачать OpenSource версию Qt. Если речь идет о Qt4 - согласен. Но официального OpenSource Qt3 под Винду нет, есть только версии портированные энтузиастами на SourceForge.net http://sourceforge.net/project/showfiles.php?group_id=49109 Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 04, 2007, 17:40 В общем fail произошел :(
qt 3.3.8 скачал, распаковал в C:\Qt\3.3.8. Установил переменные INCLUDE, LIB и PATH, чтобы конфигуратор нашел либы, хидеры и компилятор с линкером. Утилиту nmake я взял из winddk (в VC Toolkit'e её не было) и положил в C:\Qt\3.3.8\bin. После запуска инсталлятор ругнулся, что не найдена mspdb80.dll. Я это игнорировал, и продолжил.После конфигурирования вроде пошел процесс сборки с выводом лога и даже успела собраться либа qtmain.lib, но через некоторое время произошел сбой. Вот на эту команду (была выведена в лог): link /NOLOGO /DELAYLOAD:comdlg32.dll /DELAYLOAD:oleaut32.dll /DELAYLOAD:winmm.dll /DELAYLOAD:wsock32.dll /DELAYLOAD:winspool.dll /BASE:0x39D00000 /DELAYLOAD:opengl32.dll /SUBSYSTEM:WINDOWS /DLL /incremental:no /VERSION:3.38 /LIBPATH:"C:\Qt\3326ED~1.8\lib" /OUT:C:\Qt\3326ED~1.8\lib\qt-mt338.dll @%USERPROFILE%\LOCALS~1\Temp\nma02984. Линкер отозвался так: LINK : fatal error LNK1181: cannot open input file 'delayimp.lib' NMAKE : fatal error U1077: 'link' : return code '0x49d' Stop. NMAKE : fatal error U1077: 'C:\Qt\3.3.8\bin\nmake.exe' : return code '0x2' Stop. Что это за либа такая delayimp.lib? Посмотрел по всему винту, ничего похожего не нашел. Она должна быть в пакете qt или в тулките? Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 04, 2007, 18:03 Цитировать После запуска инсталлятор ругнулся, что не найдена mspdb80.dll. Это DLL от VisualStudio 2005!!! В 2003 должна быть mspdb71.dll. Требуется для создания дебажных версий, поэтому Qt в таком раскладе лучше собрать релизовскую.delayimp.lib - штатная либа от VS, должна быть в либах (в смысле VC7\Lib). Установлена ли переменная QMAKESPEC? Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 04, 2007, 18:39 В визарде я выбрал компилятор Microsoft Visual C++.NET. Есть ещё Microsoft Visual C++ (это версия 6.0) и msvc2005 (8.0) По умолчанию предлагается msvc2005, и поэтому запрашивается mspdb80.dll. Если выбрать Microsoft Visual C++, то спрашивает mspdb60.dll, если выбрать Microsoft Visual C++.NET - то ничего не спрашивает (видимо находит эту mspdb71.dll)
Либы delayimp.lib нету. Может приаттачишь, если у тебя есть такая? А переменная QMAKESPEC установлена: win32-msvc.net Я так понял, что дело только в либе delayimp.lib. Ведь фактически сборка начинается и происходит, т.е. makefile сделан верно, и nmake работает. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 04, 2007, 19:00 Цитировать Либы delayimp.lib нету. Может приаттачишь, если у тебя есть такая? С удовольствием, вот только куда ??? У меня никаких кнопок по аттачу нет.Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 04, 2007, 20:11 Оказывается действительно нету :)
Ну тогда на мыло кинь: ua6xhy@mail.ru Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 05, 2007, 00:46 Видимо всё-таки не состыкуется 3.3.8 с моим Visual C++ 2003 Toolkit.
Нашел delayimp.lib, потом пришлось искать msvcrt.lib (взял из ddk), потом споткнулся на comsupp.lib... Излазил весь ftp.microsoft - не нашел:( Если и найду, неизвестно, что ещё понадобится. Блин, и что за мода компилировать из исходников? Неужели нельзя было положить в инсталлятор бинарники. тем более что это не линукс, где миллион версий, а винда, где нестыковок из-за разных билдов практически нет :( А ставить qt-4.x.x чтобы переделать всё заново - так проще с нуля на winapi всё сделать. Видимо так и придётся. Спасибо всем. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 05, 2007, 06:13 А может проще найти нормальную полную версию Visual Studio 2003, а не пытаться собрать ее самому из разных кусочков (может быть и не совсем совместимых)? ;D
Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: QCasper от Сентябрь 05, 2007, 09:00 А ставить qt-4.x.x чтобы переделать всё заново - так проще с нуля на winapi всё сделать. Видимо так и придётся. Спасибо всем. На винапи точно не проще! Советую все же Qt 4.3.x. Могу даже дать скомпилированную версию. Скомпилированная версия представляет собой Qt 4.3.1 OpenSource пропатченная для работы с msvc (спасибо qtcentre.org). Параметры конфигурации по умолчанию плюс openssl минус Qt3 support. debug and release, shared. Сборка точно работает с vs-2003. Собственно на ней и собиралась. Размер дистрибутива ~20 метров. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 05, 2007, 12:35 Hellraiser
Ну раз тулкит не подходит, и нужна именно полная студия, то врядли это у меня получится: исошник студии на микрософте есть, но весит о 470 мег, я столько не смогу вытянуть. QCasper Тут сразу несколько вопросов... Что представляет собой скомпилированная версия? Если ей требуются для работы mfc, stl и т.п., то я этим не пользуюсь, и соответственно этого у меня нет. И для работы с каким msvc она пропатчена? Будет работать с vc++ 7.0 toolkit? Как обстоит дело с qmake? Без qmake разбираться с этими moc-заморочками страшно :) И есть ли там assistant? Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: pastor от Сентябрь 05, 2007, 13:38 Мне кажеться нужно воспользоваться советом QCasper и юзать gcc
https://sourceforge.net/projects/mingw/ Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: QCasper от Сентябрь 06, 2007, 08:14 QCasper Тут сразу несколько вопросов... Что представляет собой скомпилированная версия? Если ей требуются для работы mfc, stl и т.п., то я этим не пользуюсь, и соответственно этого у меня нет. И для работы с каким msvc она пропатчена? Будет работать с vc++ 7.0 toolkit? Как обстоит дело с qmake? Без qmake разбираться с этими moc-заморочками страшно :) И есть ли там assistant? Тут недавно выяснилось, что с qmake'ом в ней как раз проблемы. Оказывается при сборке в qmake жестко прописываются абсолютные пути к либам, плагинам и т.п. Я этого не знал. Поэтому просто тупо взять и скопировать в другой каталог, так как сейчас это делает инсталлятор, нельзя. А в остальном вроде все нормально работает. По поводу каким образом и для кого она пропатчена см. http://wiki.qtcentre.org/index.php?title=Qt4_with_Visual_Studio (http://wiki.qtcentre.org/index.php?title=Qt4_with_Visual_Studio). mfc ей в принципе не надо, stl тоже. Насчет тулкита 7.0 не уверен, сборка производилась с помощью VS 2003 (7.1). По поводу qmake отпишу в отдельной теме. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 06, 2007, 17:35 Цитировать Оказывается при сборке в qmake жестко прописываются абсолютные пути к либам, плагинам и т.п. Эксперимент показал, что при переименование папки с Qt (было c:\qt\3.3.8, стало c:\qt\3.3.9) qmake действительно ругается: "не найдена папка mkspecs". Но исправление переменных QTDIR и PATH + волшебная команда nmake clean все лечит - тестовый Makefile был собран и по нему заново пересобраны примеры. Следовательно, qmake привязался не к абсолютным путям, а к относительным и отталкивается от QTDIR. Естественно, внутренняя структура должна сохраняться (bin, lib, include и т.п.).Cresta: если желание не пропало, могу сбросить на мыло собранный под VS2003 Qt (папки bin, lib, plugins) - дебажная shared версия, правда собирал с поддержкой STL и без SQL (его плагины можно откомпилить отдельно). Весит в архиве ~20 Мб Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: cresta от Сентябрь 06, 2007, 18:12 если желание не пропало, могу сбросить на мыло собранный под VS2003 Qt (папки bin, lib, plugins) - дебажная shared версия, правда собирал с поддержкой STL и без SQL (его плагины можно откомпилить отдельно). Весит в архиве ~20 Мб То что без SQL - не страшно, я с базами mysql наловчился работать через denver (точнее через его сервер mysql напрямую). А вот чем грозит поддержка STL? Необходимо будет установить STL? И что значит дебажная версия? В смысле debug-информация в либах, или в собраных с помощью этого пакета программах? И как обстоит с qmake? Сорри, что такие вопросы, я привык работать напрямую с контентом, и в этих нагромождениях разного рода хэлперов (типа qmake, интеграторы и т.п.) не очень ориентируюсь. Название: Re: Что посоветуете к компилятору VC++ 2003? Отправлено: Hellraiser от Сентябрь 06, 2007, 19:45 А вот чем грозит поддержка STL? Необходимо будет установить STL? STL - стандартная библиотека шаблонов (vector, map, и т.п.), устанавливать ее не надо, она должна быть в стандартных либах. Просто не всем она требуется, поэтому и спрашивал.И что значит дебажная версия? В смысле debug-информация в либах, или в собраных с помощью этого пакета программах? И как обстоит с qmake? Версия собрана с отладочной информацией, qmake и прочие приблуды в наличии (все что должно быть в папке bin), короче, все что компилируется при сборке Qt, кроме примеров и туториалов. |