Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Я.К. от Январь 26, 2009, 10:17



Название: QTшная программа не запускается на других машинах.
Отправлено: Я.К. от Январь 26, 2009, 10:17
Я собрал программу на Qt 4.4.2 под Visual Studio 2005, закинул в каталог с Exe-шником соответствующие dll-ки (в моем случае Qwt5.dll, QtGui4.dll и QtCore4.dll). На моем компе программа запускается и работает, однако на других - нет.
Я предположил, что дело в .Net'е, uninstall'ил все его фреймворки, однако это все равно не помогло.
Говорит, что приложение неправильно настроено и повторная установка может решить проблему. Что это значит и как с этим бороться?


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: lit-uriy от Январь 26, 2009, 10:40
2 Я.К., а причем здесь точка-нэт?
Тебе надо студийные хахаряхи с собой таскать, см. в асистенте "Развертывание приложения в Windows (http://doc.crossplatform.ru/qt/4.4.3/deployment-windows.html)"


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: kuzulis от Январь 26, 2009, 10:51
Цитировать
2 Я.К., а причем здесь точка-нэт?
Тебе надо студийные хахаряхи с собой таскать, см. в асистенте "Развертывание приложения в Windows"

Дадада! По ходу надо скачать vsredist с сайта M$ . :)  такая же ошибка у меня возникала при попытке запустить установленную игруху Crysis :)


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: pastor от Январь 26, 2009, 12:10
А ещё поможет поиск по разделу, т.к. это уже обсуждалось много раз


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: Я.К. от Январь 26, 2009, 13:01
Спасибо за Dependency Walker. Однако: чтобы не таскать с собой кучу DLL, я решил собрать с минимальным числом зависимосей (т.е. статически). Для того, в частности, в свойсвах проекта в С/С++ \ Code Generation я поменял MultiThread Debug DLL на MultiThread Debug. Программа перестала собираться, и, видимо, говорит, что часть функций объявлена дважды в разных библиотеках:

Цитировать
1>------ Build started: Project: SimpLink, Configuration: Debug Win32 ------
1>Linking...
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrtd.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4199: /DELAYLOAD:OleAcc.dll ignored; no imports found from OleAcc.dll
1>D:\Documents and Settings\Администратор\Мои документы\Visual Studio 2005\Projects\SimpLink\Debug\SimpLink.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://d:\Documents and Settings\Администратор\Мои документы\Visual Studio 2005\Projects\SimpLink\SimpLink\Debug\BuildLog.htm"
1>SimpLink - 3 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Проект тут: nuclear_carlson.gorodok.net/SimpLink.rar (http://nuclear_carlson.gorodok.net/SimpLink.rar)

Как это забороть?


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: pastor от Январь 26, 2009, 13:36
Я.К., вам нужно для начала собрать статическую Qt. Как это сделать ищите по разделу.


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: Я.К. от Январь 26, 2009, 13:45
Я.К., вам нужно для начала собрать статическую Qt. Как это сделать ищите по разделу.
А разве дело в Qt? Ладно, можно и собрать статическую Qt.


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: Я.К. от Январь 27, 2009, 07:59

Спасибо, я собрал статическую Qt и избавился от необходимости таскать с осбой её библиотеки. Как мне избавиться ещё и от неоходимости таскать с собой библиотеки vsredist-а (msvcr80 и т.п.)?


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: mks56 от Январь 27, 2009, 08:50
2 Я.К.: Вам уже совершенно верно порекомендовали почитать предыдущие темы раздела...


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: FlexoID от Январь 27, 2009, 12:00
Написал статью в Вики. Сборка Qt без зависимостей для VC (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_%D0%B4%D0%BB%D1%8F_VC)


Название: Re: QTшная программа не запускается на других машинах.
Отправлено: pastor от Январь 27, 2009, 14:40
Добавил и я статью Сборка 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)