Russian Qt Forum
Ноябрь 23, 2024, 12:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с qt.conf  (Прочитано 5664 раз)
romanick
Гость
« : Май 27, 2014, 09:45 »

Добрый день!
Хочу чтобы Qt-библиотеки лежали отдельно от моего exe-шника. В qt.conf пишу:
Код:
[Paths]
Libraries = system/lib
Plugins = system/plugins

Раскладываю библиотеки по соотв. путям. В итоге выходит такая структура:

Цитировать
my.exe
qt.conf
system/lib/icudt52.dll
system/lib/icuin52.dll
system/lib/icuuc52.dll
system/lib/libgcc_s_dw2-1.dll
system/lib/libstdc++-6.dll
system/lib/libwinpthread-1.dll
system/lib/Qt5Core.dll
system/lib/Qt5Gui.dll
system/lib/Qt5Widgets.dll
system/plugins/platforms/qminimal.dll
system/plugins/platforms/qwindows.dll

Однако приложение не запускается: пишет что Qt5Core.dll не найден. Собрана релиз-версия. Если попробовать положить все dll-ки рядом с exe - то всё работает.
Что я делаю не так?

Qt5.3.0, mingw32, Windows
Записан
Serr500
Гость
« Ответ #1 : Май 27, 2014, 09:55 »

Файл qt.conf обрабатывается Qt-приложением после того, как оно успешно запустилось. Приложение не может успешно запуститься, если операционная система не может найти все динамические библиотеки, на которые оно ссылается. Следовательно, если этих библиотек нет рядом с exe-файлом приложения и в каталогах, перечисленных в системной переменной PATH, то в qt.conf можно хоть поэму писать - ничего не запустится.
Записан
romanick
Гость
« Ответ #2 : Май 27, 2014, 09:59 »

Файл qt.conf обрабатывается Qt-приложением после того, как оно успешно запустилось. Приложение не может успешно запуститься, если операционная система не может найти все динамические библиотеки, на которые оно ссылается. Следовательно, если этих библиотек нет рядом с exe-файлом приложения и в каталогах, перечисленных в системной переменной PATH, то в qt.conf можно хоть поэму писать - ничего не запустится.

Спасибо за ответ. Получается что нет никакого решения кроме статической сборки?
Записан
OKTA
Гость
« Ответ #3 : Май 27, 2014, 10:28 »

Самому прописать пути в PATH можно.
Записан
Serr500
Гость
« Ответ #4 : Май 27, 2014, 10:47 »

Как вариант, создать cmd-файл следующего содержания:
Код:
set PATH=%~dp0\system\lib;%PATH%
start "" "my.exe"
Или маленькое "приложение-запускальщик" с соответствующим функционалом.  Подмигивающий
« Последнее редактирование: Май 27, 2014, 10:49 от Serr500 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 21.