Название: Запуск программы, без требывания библиотек Отправлено: xSpartak от Сентябрь 18, 2009, 19:49 Здравсвуйте помогите
пользуюсь qt creatorом написал программу hello world exe он создал в папке где я сохранил программу, но при запуски требует dll, как сделать что бы он их не требывал? а то как то нехочется копирывать их каждый раз в папку с программой ( Название: Re: Запуск программы, без требывания библиотек Отправлено: xSpartak от Сентябрь 18, 2009, 19:52 и что это за ошибка?
это если при сборки релиза Название: Re: Запуск программы, без требывания библиотек Отправлено: lit-uriy от Сентябрь 18, 2009, 22:38 По поводу ошибки.
Ты скорее всего не ту dll'ку положил к exe'шнику. Креатор, штатно, собран студией и его, креаторовские dll'ки не трогай. Должен быть каталог с такими же, по именам, dll'ками, но собраными с помощью MinGW32, вот их и надо к своему exe'шнику класть. Название: Re: Запуск программы, без требывания библиотек Отправлено: Alp от Сентябрь 22, 2009, 20:58 А prebuilt binaries под винду поставляются только собранные с mingw?
Название: Re: Запуск программы, без требывания библиотек Отправлено: lit-uriy от Сентябрь 22, 2009, 21:29 >>А prebuilt binaries под винду поставляются только собранные с mingw?
Как бы да, Но есть одно "но". Если качать SDK, что с Креатором. То Креатор там собран студией и с ним(!) в комплекте идут бинари Qt собраные тоже студией ;) Название: Re: Запуск программы, без требывания библиотек Отправлено: Alp от Сентябрь 22, 2009, 21:36 Мммм, т.е. если собрать студийным компилятором проехт и подсунуть ему креаторские бинари - будет все хорошо? Это хорошо =)
Название: Re: Запуск программы, без требывания библиотек Отправлено: lit-uriy от Сентябрь 22, 2009, 22:40 Скорее всего, lib-файлов в комплекте нет, а без них проект не соберёшь, да и qmake нужно, чтобы студией был собран. Я креатором не пользуюсь, посему не помню его комплектность.
Правильный путь - собрать Qt с пмомощью студии. Тогда с помощью неё можно будет и компилировать. Но не забудь про РедистрибьюторПэкэдж, от мелко-мягких, довешивать к своей программе Название: Re: Запуск программы, без требывания библиотек Отправлено: Alp от Сентябрь 23, 2009, 10:53 Скорее всего, lib-файлов в комплекте нет, а без них проект не соберёшь, да и qmake нужно, чтобы студией был собран. Я креатором не пользуюсь, посему не помню его комплектность. Правильный путь - собрать Qt с пмомощью студии. Тогда с помощью неё можно будет и компилировать. Но не забудь про РедистрибьюторПэкэдж, от мелко-мягких, довешивать к своей программе Разве это не нарушит LGPL? Насколько я понимаю, бинарная совместимость будет утеряна? ;-) Название: Re: Запуск программы, без требывания библиотек Отправлено: xSpartak от Сентябрь 24, 2009, 22:34 о и вправду 2 комплекта библиотек, те которые в папки /lib не подошли, а те которые /qt/lib подошли )
а можно как нить собирать программу что бы эти библиотеки не нужно было с exe файлом тоскать? Название: Re: Запуск программы, без требывания библиотек Отправлено: Alp от Сентябрь 24, 2009, 22:58 о и вправду 2 комплекта библиотек, те которые в папки /lib не подошли, а те которые /qt/lib подошли ) Надо пересобрать Qt статически. У тебя не будет dll/so/dylib, а будут lib-файлы, которые будут включаться в результирующий продукт. Правда, если приложение коммерческое будут сложности =)а можно как нить собирать программу что бы эти библиотеки не нужно было с exe файлом тоскать? Название: Re: Запуск программы, без требывания библиотек Отправлено: xSpartak от Сентябрь 25, 2009, 02:44 а как ему сказать что бы он собирал статически ?
в чем могут быть проблемы? с лицензией? и какие именно и почему? Название: Re: Запуск программы, без требывания библиотек Отправлено: Alp от Сентябрь 25, 2009, 13:22 а как ему сказать что бы он собирал статически ? 1. Навскидку не помню. Вроде бы надо запустить configure.exe -static. После нескольких чашек кофе, обеда и легкого сна будет собрано.в чем могут быть проблемы? с лицензией? и какие именно и почему? 2. http://www.prog.org.ru/topic_10609_0.html Название: Re: Запуск программы, без требывания библиотек Отправлено: IGHOR от Сентябрь 25, 2009, 22:30 Когда мне было нужно приложение без зависимостей то помогло WIKI с этого форума:
Сборка Qt без зависимостей (MS Visual Studio) (http://prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MS_Visual_Studio%29) Сборка Qt без зависимостей (MinGW) (http://prog.org.ru/wiki/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_Qt_%D0%B1%D0%B5%D0%B7_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%28MinGW%29) Но не могу избавиться от зависимости libmysql.dll при использовании SQLite и MySQL. И уже после сборки даже assistant.exe не работает без этой dll. Подскажите как прилинковать libmysql.dll статически? И наверное это будет полезно добавить инфу об этом в Вики. |