Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] Как собрать программу, что бы работала, на другом компе, где нет нужных Dll-ок? 
:(
    Опции темы
Elfet
Дата 16.9.2009, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Всем привет!

Прошу помочь мне разобраться со всеми этими делами связанными со сборкой Qt (статической/динамической) и тп.


Я скачал с сайта qt - Qt SDK. Установил. Создал пробный проект, но даже при попытки его запуска на моём компе вылезла ошибка, что не хватает mingw10.dll
mingw как я понял это компилятор которым Qt пользуется? 


Задача в том чтобы создать выполняемый файл, который работал бы на другом компе, без необходимости дополнительных установок.

Заранее спасибо!


--------------------
PM MAIL WWW Skype   Вверх
KL7
Дата 16.9.2009, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 7.12.2008
Где: Minsk City

Репутация: 2
Всего: 2



PM MAIL ICQ   Вверх
Elfet
Дата 16.9.2009, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Вот куда это писать? smile

Цитата

mingw32-make sub-src

nmake sub-src

 smile 


--------------------
PM MAIL WWW Skype   Вверх
юзерпиг
Дата 16.9.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 29.8.2009

Репутация: нет
Всего: нет



Аналогичный вопрос с GTK.. 
Добавил линкеру флаг -static, но он все равно линкует с использованием dll...



PM MAIL   Вверх
ecspertiza
Дата 17.9.2009, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(Elfet @  16.9.2009,  21:50 Найти цитируемый пост)
Вот куда это писать? 


Это писать в консоль smile

Суть такова, с SDK в этой ситуации лудше вообше непользоваться ибо у него вечные проблемы с пересборками(ИМХО) smile Лудше скачать
http://get.qt.nokia.com/qt/source/qt-win-o...4.5.2-mingw.exe
затем скачать MinGW.
Прописать всё это дело в переменные среды.

потом необходимо пересобрать Qt  c лючиком -static


Код

cd QtDIR/
configure -static


Потом долгий процесс конфигурации, потом нужно собрать то что сконфигурироваллось

Код

mingw32-make


потом идёт процесс пересборки долгий и нудный, если всё прошло без ошибок то значит везение есть если нет то придётся помучаться.

после этого проекты можно собирать со всеми встроенными длл-ками, но mingw10.dll вроде всё равно придётся таскать.

И послесловие, на мой взгляд статическая сборка не есть быть хорошо. ибо весь код длл-ок вшивается в ехе-шник, часто сталкивался с кривой работой приложения собранного статически.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Acer
Дата 17.9.2009, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Elfet, если собрать Qt компилятором VC++, то в mingw10.dll не будет необходимости.
PM MAIL   Вверх
Elfet
Дата 17.9.2009, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Ок, ясно. спасибо smile

PS Вот это только куда скажите:
Цитата
mingw32-make

Это параметры для какого файла? И где он?


--------------------
PM MAIL WWW Skype   Вверх
Acer
Дата 17.9.2009, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Цитата(Elfet @ 17.9.2009,  11:37)
Ок, ясно. спасибо smile

PS Вот это только куда скажите:
Цитата
mingw32-make

Это параметры для какого файла? И где он?

Непонятен вопрос.
mingw32-make - это GNU Make под виндовс. Им обычно собирают приложения из исходников smile
Ты собираешься Qt компилить MinGW или VC++ ?

Добавлено через 9 минут и 35 секунд
Для устранения обшибки допиши в PATH путь, где лежит mingw10.dll.
У меня это C:\MinGW\bin
Так же добавь в PATH путь к бинарникам Qt. Например C:\Qt\4.5.x\bin
и потом у тебя все будет работать.

Цитата(Elfet @ 16.9.2009,  18:46)
вылезла ошибка, что не хватает mingw10.dll
mingw как я понял это компилятор которым Qt пользуется? 


Задача в том чтобы создать выполняемый файл, который работал бы на другом компе, без необходимости дополнительных установок.

Заранее спасибо!

При динамической линковке для того, чтобы приложение запустилось на сторонней машине тебе нужно будет в директорию с приложением вложить необходимые либы. Для обычного Qt приложения, которое не использует ничего(QtNetwork, QtSql...) положи в директорию с твоим *.exe библиотеки QtCore4.dll, QtGui4.dll(для релиз версии)
Если твое приложение использует, например, QtSql, то нужно будет указать программе путь к плагинам и положить плагины по этому пути.
Код

int main( int argc, char *argv[] ){
    QApplication app( argc, argv );
    app.addLibraryPath( "lib" );
    //.........
    return app.exec();
}

И тогда в директории с proj.exe должно быть следующее
./lib/sqldrivers/qsqlodbc4.dll
PM MAIL   Вверх
Elfet
Дата 17.9.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Acer, ок, спасибо! Вроде разобрался! (+)


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.