Название: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 15:52 Приветствую, возник вопрос по сборке проектов Qt под Windows платформы.
Собранный проект тянет с собой несколько библиотек Qt, я их складываю вместе с собранным проектом (.\Projects\xxx.exe), в корневой каталог .\Projects, все работает прекрасно, но как то не очень это выглядит красиво. Хотелось бы эти библиотеки видеть к примеру так .\Projects\library\, а собранный файл в .\Projects\ Проекты собираю в QtCreator. Название: Re: Сборка проектов Qt под Windows Отправлено: Igors от Январь 18, 2015, 16:00 Ну прописывать path во всяком случае "менее надежно". Можно включить "delay loaded libraries" (как это называется в MSVC), а на старте загрузить самому из нужного места.
Название: Re: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 16:15 про path я знаю, но это не совсем то, думаю есть же механизм прописывания пути какой ни будь директивы в .pro файле проекта
Название: Re: Сборка проектов Qt под Windows Отправлено: maint от Январь 18, 2015, 16:24 .pro отвечает за сборку, а уж ни как не за выполнение. Но вот на setLibraryPaths можно глянуть
Название: Re: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 16:38 .pro отвечает за сборку, а уж ни как не за выполнение. Но вот на setLibraryPaths можно глянуть Спасибо :)В описании метода прописано, что для Symbian есть ограничения, а для Windows таких ограничений нет? И еще, объясните т.к. я начинающий в Qt, пишу в main: Код: QApplication a(argc, argv); Название: Re: Сборка проектов Qt под Windows Отправлено: Igors от Январь 18, 2015, 17:15 setLibraryPath тоже нужно, но для плагинов, которые грузятся уже после запуска приложения. А для основных dll (Qt5Core и др) все по-прежнему. Надо линковать их c флагом -lweak ("delay loaded") и грузить самому. Где это (и есть ли) в QtCreator - не знаю, т.к. с ним не работаю
Название: Re: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 17:44 setLibraryPath тоже нужно, но для плагинов, которые грузятся уже после запуска приложения. А для основных dll (Qt5Core и др) все по-прежнему. Надо линковать их c флагом -lweak ("delay loaded") и грузить самому. Где это (и есть ли) в QtCreator - не знаю, т.к. с ним не работаю наверняка есть, потому как в Интернете встречал проекты, где к примеру QtCore4.dll находился в \Projects\Application\, а собранный проект находился в \Projects\xxx.exeНазвание: Re: Сборка проектов Qt под Windows Отправлено: Igors от Январь 18, 2015, 18:14 наверняка есть, потому как в Интернете встречал проекты, где к примеру QtCore4.dll находился в \Projects\Application\, а собранный проект находился в \Projects\xxx.exe Это не значит что проект был сделан на QtCreator :) Можно ли линковать "weak" определяется компилятором, он должен создать код для автоматычной подгрузки в runtime.Да, и перед тем как углубляться в поиск - подумайте нет ли глобальных переменных использующих Qt классы, пример Код
Название: Re: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 18:42 Я может из-за своей неграмотности неправильно выразился, у меня все как надо в проекте линкуется, все работает, но все qt библиотеки находятся в одном каталоге с исполняемым файлом (проектом на Qt), а хотелось бы, что бы необходимые Qt библиотеки, расположить в указанном мной каталоге, относительно каталога расположения исполняемого файла (проекта Qt).
Название: Re: Сборка проектов Qt под Windows Отправлено: Igors от Январь 18, 2015, 19:17 Я может из-за своей неграмотности неправильно выразился, у меня все как надо в проекте линкуется, все работает, но все qt библиотеки находятся в одном каталоге с исполняемым файлом (проектом на Qt), а хотелось бы, что бы необходимые Qt библиотеки, расположить в указанном мной каталоге, относительно каталога расположения исполняемого файла (проекта Qt). Я понял, на это и отвечал. В данном случае для "хотелки" придется немного потрудитьсяНазвание: Re: Сборка проектов Qt под Windows Отправлено: _Konstantin_ от Январь 18, 2015, 19:21 Я может из-за своей неграмотности неправильно выразился, у меня все как надо в проекте линкуется, все работает, но все qt библиотеки находятся в одном каталоге с исполняемым файлом (проектом на Qt), а хотелось бы, что бы необходимые Qt библиотеки, расположить в указанном мной каталоге, относительно каталога расположения исполняемого файла (проекта Qt). Я понял, на это и отвечал. В данном случае для "хотелки" придется немного потрудитьсяНазвание: Re: Сборка проектов Qt под Windows Отправлено: Old от Январь 18, 2015, 19:39 Я может из-за своей неграмотности неправильно выразился, у меня все как надо в проекте линкуется, все работает, но все qt библиотеки находятся в одном каталоге с исполняемым файлом (проектом на Qt), а хотелось бы, что бы необходимые Qt библиотеки, расположить в указанном мной каталоге, относительно каталога расположения исполняемого файла (проекта Qt). Это легко сделать с помощью простого bat-файла.Название: Re: Сборка проектов Qt под Windows Отправлено: __Heaven__ от Январь 18, 2015, 23:54 Я может из-за своей неграмотности неправильно выразился, у меня все как надо в проекте линкуется, все работает, но все qt библиотеки находятся в одном каталоге с исполняемым файлом (проектом на Qt), а хотелось бы, что бы необходимые Qt библиотеки, расположить в указанном мной каталоге, относительно каталога расположения исполняемого файла (проекта Qt). Это легко сделать с помощью простого bat-файла.Название: Re: Сборка проектов Qt под Windows Отправлено: Igors от Январь 19, 2015, 10:31 Это легко сделать с помощью простого bat-файла. Цыганщина :)Название: Re: Сборка проектов Qt под Windows Отправлено: Old от Январь 19, 2015, 10:38 Цыганщина :) Серьезные извращенцы это же могут сделать через отдельную аппликашку-ланчер, которая будет делать то-же самое. Все зависит от неадекватности писаки. :)Кстати, внешний ланчер можно научить многих полезным вещам. Название: Re: Сборка проектов Qt под Windows Отправлено: Fregloin от Январь 19, 2015, 14:48 а еще можно рядом с экзешником кинуть файл qt.conf в котором задать все нужные вам пути. Почитайте про формат qt.conf, мне так когда то помогло с нестандартными путями в убунте.
Название: Re: Сборка проектов Qt под Windows Отправлено: panAlexey от Январь 19, 2015, 14:55 Цыганщина :) Серьезные извращенцы это же могут сделать через отдельную аппликашку-ланчер, которая будет делать то-же самое. Все зависит от неадекватности писаки. :)Кстати, внешний ланчер можно научить многих полезным вещам. |