Как установить путь к библиотеке для пользовательского приложения Qt

Я работаю в ситуации, когда у меня установлены две разные версии Qt: одна скомпилирована с mingw, а другая с visual studio.
Теперь, когда я компилирую свою программу с версией Qt MinGW и запускаю ее, я получаю сообщение с зашифрованным текстом, в котором говорится, что один из основных модулей Qt не загружен.
Мой вопрос заключается в том, как мне установить путь к основным модулям Qt для моего приложения на C ++. Я посмотрел на документацию и нашел addLibraryPath метод, но, похоже, только для плагинов Qt.

0

Решение

редактировать

Кажется, я неправильно понял вопрос, так как SIFE комментирует, что ему нужно загружать модули Qt (например, QtGui4.dll), а не плагины. Ответ для плагинов оставлен здесь, на случай, если он может кому-то помочь.

Плагины

Qt загружает плагины, которые находятся в SDK/plugins по умолчанию. Проблема в том, что сначала он находит неправильный SDK …

Если я правильно помню, Qt сначала поищи в каталоге ., Таким образом, вы можете скопировать каталог ‘plugins’ рядом с вашим * .exe: плагины для msvc, скопированные рядом с exe-скомпилированным msvc, и плагины для gcc рядом с exe-скомпилированным gcc.

Если вы не хотите копировать plugins каталог, вы можете использовать setLibraryPaths (не проверено, но может работать)

Не в последнюю очередь, вы также можете использовать qt.conf подход.

Модули

Модули не загружаются динамически, в том смысле, что они являются частью зависимостей приложения, поэтому они загружаются при запуске exe, а не через LoadLibrary. Итак, решение простое: просто скопируйте dll в ту же папку, что и папка, содержащая * .exe

0

Другие решения

Что касается компилятора, то правильные настройки библиотеки / включения должны быть выполнены QMake.
QMake создает ваш make-файл / VS-Project, используя библиотеки из той же версии, к которой принадлежит Qmake.

Попробуйте вызвать QMake, используя полный путь для каждой версии Qt.
например

c:/myQtMinGwProject>c:/Qt4_mingw/bin/qmake
c:/myQtVSProject>c:/Qt4_VS2008/bin/qmake -t vcapp

Что касается времени выполнения, убедитесь, что dll для соответствующей версии находятся в PATH

Я надеюсь, что это помогает

0

По вопросам рекламы [email protected]