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


Автор: scorpion9 30.11.2009, 10:26
Доброго всем времени суток! Написал значится я небольшую программку,скомпилировал, все работает... Но не запускается просто через *.exe ... Прошу помочь дельным советом,как мне это сделать... Желательно доступными словами, т.к. я еще новичок в QT...     smile

Добавлено через 7 минут и 14 секунд
ах да... хочу еще вот что добавить чтобы не было недоразумений. Когда запускаю .ехе файл, то выходит окно сообщение: 
Цитата
Приложению не удалось запуститься, поскольку mingw10.dll не был найден



При перетаскивании этого файла из папки самого qt он просит другие *.dll файлы и только после этого запускается... Имхо, это как то неправильно... smile 

Автор: chaos 30.11.2009, 10:37
scorpion9, это нормальное поведение.
самое простое решение прописать в переменной %PATH% путь там где все необходимые либы лежат!

Автор: scorpion9 30.11.2009, 11:21
Цитата(chaos @ 30.11.2009,  10:37)
scorpion9, это нормальное поведение.
самое простое решение прописать в переменной %PATH% путь там где все необходимые либы лежат!

а можно по подробнее, пожалуйста...)))

Автор: chaos 30.11.2009, 13:24
Цитата(scorpion9 @ 30.11.2009,  08:21)
Цитата(chaos @ 30.11.2009,  10:37)
scorpion9, это нормальное поведение.
самое простое решение прописать в переменной %PATH% путь там где все необходимые либы лежат!

а можно по подробнее, пожалуйста...)))

"Свойства моего компьютера" -> "Дополнительные параметры системы" -> "Дополнительно" -> "Переменные среды" в системных переменных ищем переменную PATH
и добавляем к ее значению путь там где лежат твои либы от qt & mgw

ЗЫ еще проще(но это не правильно) скопировать либы в папку system32

Автор: quarz 30.11.2009, 13:48
2chaos: а я обычно прям в директорию(release, debug) кидаю либы. А с %path% тоже будет работать?

Автор: chaos 30.11.2009, 14:37
quarz, будет и еще как будет smile

Автор: scorpion9 30.11.2009, 15:20
Цитата(quarz @ 30.11.2009,  13:48)
2chaos: а я обычно прям в директорию(release, debug) кидаю либы. А с %path% тоже будет работать?

Работать то работает, но слишком большой размер файла получается...  smile    Какая нить простенькая программка получается будет весить под 160 метров))))

Добавлено через 8 минут и 12 секунд
chaos огромное спасибо, заработало!!! smile 

Автор: quarz 30.11.2009, 15:31
Цитата(scorpion9 @  30.11.2009,  15:20 Найти цитируемый пост)
Работать то работает, но слишком большой размер файла получается...

ты говоришь о сатической линковке, а разговоры в ветке про размещение длл-ок.
А при распространении  программы на кьюте дистр в любом случае не может быть меньше 9Мб - столько весят QtGui.dll и QtCore.dll

Автор: unicuum 30.11.2009, 15:34
Цитата(scorpion9 @  30.11.2009,  15:20 Найти цитируемый пост)
Работать то работает, но слишком большой размер файла получается...  user posted image    Какая нить простенькая программка получается будет весить под 160 метров)))) 

Можно меньше сделать при статической линковке, будет несколько мегабайт весить. Я её делал, но как бы смысла в этом нет. Лучше научиться программировать, и помнить об этой возможности, пока не придёт время. А придёт оно скорее всего не скоро.

Добавлено через 2 минуты и 40 секунд
Цитата(quarz @  30.11.2009,  15:31 Найти цитируемый пост)
А при распространении  программы на кьюте дистр в любом случае не может быть меньше 9Мб - столько весят QtGui.dll и QtCore.dll 

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

Автор: quarz 30.11.2009, 16:04
Цитата(unicuum @  30.11.2009,  15:34 Найти цитируемый пост)
Больше наверное, хотя наверное смотря как оптимизировать динамические библиотеки. Впрочем в статической линковке раза в два, два с половиной меньше, если не использовать всё, что там внутри зарыто.


[offtop]
А как еще можно оптимизировать библиотеки кьюта, кроме как при компиляции отключить ненужные модули? Но и в этом случае QtGui будет содержать кучу неиспользованных в программе контролов. Или при статической линковке библиотеки просто получаются меньше, чем динамические (ни разу в статике не собирал) ?
[/offtop]

Автор: unicuum 30.11.2009, 18:10
Цитата(quarz @  30.11.2009,  16:04 Найти цитируемый пост)
Или при статической линковке библиотеки просто получаются меньше, чем динамические (ни разу в статике не собирал) ?

Да меньше, проверено на майкрософтских компиляторах из вижуал студии. Только вот не библиотеки, а один exe файл, внутри которого только то из библиотек, что он использует (core+gui). Во всяком случае я понял это так, иначе с чего бы размеру так уменьшаться.

Автор: quarz 30.11.2009, 18:42
Цитата(unicuum @ 30.11.2009,  18:10)
Цитата(quarz @  30.11.2009,  16:04 Найти цитируемый пост)
Или при статической линковке библиотеки просто получаются меньше, чем динамические (ни разу в статике не собирал) ?

Да меньше, проверено на майкрософтских компиляторах из вижуал студии. Только вот не библиотеки, а один exe файл, внутри которого только то из библиотек, что он использует (core+gui). Во всяком случае я понял это так, иначе с чего бы размеру так уменьшаться.

Да, конечно exe а не библиотеки. Спасибо за инфу!

Автор: unicuum 30.11.2009, 18:52
Цитата(quarz @  30.11.2009,  18:42 Найти цитируемый пост)
Да, конечно exe а не библиотеки. Спасибо за инфу! 

А ещё видел тему давно. Там кто-то жаловался, что проделав некие действия с MinGW для статической линковки, не смог получить маленький размер. Я не пробовал ими, просто информация к размышлению, о том что возможно придётся повозиться в зависимости от того, каким компилятором делать, прежде чем результат будет достигнут.

Автор: scorpion9 9.12.2009, 09:54
 smile 

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