| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Не работает Qt-приложение на другом ПК |
| Автор: wowka19 28.5.2013, 22:58 |
| Qt 4.6.3 Win7x32 Мое приложение использует драйвер MySQL, который лежит "C:\Qt\2010.04\qt\plugins\sqldrivers\qsqlmysql4.dll". По аналогии с другими динамическими библиотеками (QtCore4.dll, QtGui.dll, mingwm10.dll, etc...) я скопировал ее в директорию приложения, но это не помогло. Похоже используются абсолютные пути, хотя не уверен. Как правильно скомпилировать переносимое приложение, использующее в своей работе плагины? Вообще приложение ведет себя очень странно: Подгружает БД если "qsqlmysql4.dll" есть в "C:\Qt\2010.04\qt\plugins\sqldrivers\" Подгружает даже если я переименовываю "qsqlmysql4.dll" в любую ***.* - запускается дольше, но РАБОТАЕТ! Т.е. даже расширение не важно, лишь бы оно было (да хоть так 123.4) БД не грузится только если я вообще удаляю "qsqlmysql4.dll" из указанной выше папки. |
| Автор: Amp 29.5.2013, 01:26 |
Создай sqldrivers в каталоге с программой и скопируй туда. |
| Автор: wowka19 29.5.2013, 02:28 |
| Amp, Ух! Спасибо огромнейшее - я бы долго гадал. А вообще какова теория такого поведения, почему приложение ссылается на "./sqldrivers/qsqlmysql4.dll", а не, например, "./plugins/sqldrivers/qsqlmysql4.dll"? Где это устанавливается? |
| Автор: bsa 29.5.2013, 14:59 |
| http://qt-project.org/doc/qt-4.8/qcoreapplication.html#addLibraryPath |
| Автор: wowka19 1.6.2013, 14:08 |
| bsa, спасибо |