Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: fulkabaster от Февраль 11, 2010, 11:24



Название: Компиляторы, SDK и другие страшилки
Отправлено: fulkabaster от Февраль 11, 2010, 11:24
Программирую в линуксе, там никаких проблем нет. Но приложение нужно компилить и для виндовса. И тут у меня возникают проблемы  (наверное простые для знатоков Windows).
Компилятор у меня был от MS Visual Studio 6.0, QT4.4.3 компилил в винде вручную. Но с этим компилятором потом возникли проблемы. (http://www.prog.org.ru/index.php?topic=11814)

Решил поменять компилятор. На сайте QT обнаружил, что можно скачать Qt SDK - там уже есть компилятор MinGW. Так и сделал.
Но теперь при работе приложения возникает иногда Runtime Error - с компилятором MSVC этого не было. Но с этим, думаю, разберусь.
Непонятно вот что - скомпилированный код не идет на другом компе, где не установлена Qt, и требует несколько файлов. Среди них - QtGuid4.dll, который весит 140 метров (!!!), при том что сам код весит пару метров. Можно как-то сделать, чтобы не таскать на другие компы эту здоровенную dll-ку?

И еще ламерский вопрос. В линуксе при создании проекта qmake-ом создается один простой файл Makefile. В винде же там какие-то еще дебагговские версии, причем в итоге компилятся именно они (бинарник сохраняется в папку debug, а не release). Как их убрать нафик, если мне не нужна никакая отладка?


Название: Re: Компиляторы, SDK и другие страшилки
Отправлено: cya-st от Февраль 11, 2010, 11:40
Цитировать
Среди них - QtGuid4.dll, который весит 140 метров (!!!)
Это дебаг версия библиотеки, (у меня всего навсего 2 метра) просто при собирании Qt используй ключ -debug-and-release. Еще размер програмы зависит от сборки Qt - статически или динамически.
Цитировать
Как их убрать нафик, если мне не нужна никакая отладка
Чтобы в релиз компилился проект, в QtCreator-е в закладке Project выбери релиз сборку.


Название: Re: Компиляторы, SDK и другие страшилки
Отправлено: fulkabaster от Февраль 11, 2010, 11:50
Цитировать
при собирании Qt используй ключ -debug-and-release
А если я его не собирал, а скачал бинарник qt-sdk-win-opensource-2010.01.exe, тогда как?

Цитировать
Чтобы в релиз компилился проект, в QtCreator-е в закладке Project выбери релиз сборку.
меня пугают все эти ненужные мне инструменты, несопостовимые по сложности с тем приложением, которое делаю я :) Я привык в линуксе к очень простому варианту - пишу в обычном редакторе исходники, потом компилю в командной строке (1: qmake -project 2: qmake 3: make). НЕужели в винде нельзя примерно также, или без запуска криэйтеров не обойтись?


Название: Re: Компиляторы, SDK и другие страшилки
Отправлено: cya-st от Февраль 11, 2010, 12:11
Цитировать
А если я его не собирал, а скачал бинарник qt-sdk-win-opensource-2010.01.exe, тогда как?
Я тоже не собираю, использую qt-win-opensource-4.6.0-mingw.exe в папке bin библиотека QtCore4.dll имеет 2412544 байта, а дебаг версия QtCored4.dll 37777441 байта.


Название: Re: Компиляторы, SDK и другие страшилки
Отправлено: crackedmind от Февраль 11, 2010, 12:17
а почему не набрать [n]make release ?


Название: Re: Компиляторы, SDK и другие страшилки
Отправлено: fulkabaster от Февраль 11, 2010, 12:32
Спасибо, теперь понятно. mingw32-make release работает, большие dll-ки с суффиксом 'd' теперь не нужны.
Осталось разобраться, почему загрузка массивов вызывает Runtime Error, хотя c MSVC тот же код работал нормально.

P.S. гыыы.. а еще говорят, windows более "user friendly", чем Linux. По мне так с точностью до наоборот :)