Russian Qt Forum
Ноябрь 22, 2024, 13:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
сборки Qt для static и shared компоновки конфликтуют
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: сборки Qt для static и shared компоновки конфликтуют (Прочитано 4905 раз)
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
сборки Qt для static и shared компоновки конфликтуют
«
:
Июль 13, 2010, 14:41 »
проект собирался динамически, ветку Qt для него не трогал, установил параллельно еще одну ветку той же версии Qt, добавил ей в название static, сгенерил в ней статические библиотеки
НО! при запуске qtcreator из каталога
1й
ветки (где библиотеки и конфигурационные файлы для shared) и попытке собрать стороннюю часть проекта получаю сообщение об ошибке на
Код:
throw errorcode;
хотя собираю код, который не использует mingwm10.dll то есть, может использовать исключения
получилось, что полетели настройки ветки, предназначенной для динамической сборки - как это произошло, если я ставил и конфигурировал статический Qt параллельно?? разве только маршруты
смотрю в маршруты - там все нормально осталось, QTDIR и переменные в PATH указывают на ветку для динамической сборки
где собака порылась, и как теперь получить возможность динамической или статической сборок?
кстати, попутно вопрос - а так ли обязательно -no-exceptions для статической сборки, и нельзя ли собрать проект статически только с библиотеками Qt, а для работы исключений класть вместе с exe библиотеку mingwm10.dll? она крохотная, и все равно продукт из нескольких файлов состоит, и LGPL лицензия вроде позволяет
дело то в том, что и в основной части проекта исключения вовсю используются, без них никак...
«
Последнее редактирование: Июль 13, 2010, 14:42 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
Sahab
Гость
Re: сборки Qt для static и shared компоновки конфликтуют
«
Ответ #1 :
Июль 13, 2010, 15:14 »
както все путанно...
Цитировать
собираю код, который не использует mingwm10.dll
?
Цитировать
собираю код, который не использует mingwm10.dll то есть, может использовать исключения
в креаторе настройки профили qt настраиваются
Записан
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: сборки Qt для static и shared компоновки конфликтуют
«
Ответ #2 :
Июль 13, 2010, 15:25 »
что именно путанно?
везде написанно, что для статической сборки нельзя использовать исключения, поскольку они не работают в mingwm10.dll и Qt надо собирать с соответствующим ключом - я так и сделал
проект у меня состоит из нескольких подпроектов, в одном из них (да и в других тоже, на самом деле) активно используются исключения, я попытался этот проект собрать в Release в том варианте, где он ранее нормально собирался в Debug - получил сообщение об ошибке
где именно в креаторе разрешить исключения для проекта - я не вижу, вижу только ключ -fno-exceptions в Makefile.release, но его убирать нет смысла, поскольку при полной сборке этот файл генерится заново
я не могу сейчас понять, откуда в Makefile попадает ключ -fno-exceptions если ветка shared дистрибутива Qt не изменялась, этот ключ должен быть только в ветке static
«
Последнее редактирование: Июль 13, 2010, 15:28 от Гурман
»
Записан
2^7-1 == 127, задумайтесь...
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: сборки Qt для static и shared компоновки конфликтуют
«
Ответ #3 :
Июль 13, 2010, 16:38 »
>>для статической сборки нельзя использовать исключения, поскольку они не работают в mingwm10.dll
вообще-то mingwm10.dll - это как раз для их обработки.
А исключения не рекомендуют именно для того, чтобы от её зависимости отказаться
Записан
Юра.
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: сборки Qt для static и shared компоновки конфликтуют
«
Ответ #4 :
Июль 13, 2010, 17:57 »
ну я имел в виду, что при статической сборки с ней исключения нельзя использовать, они не работают, поэтому рекомендуют везде ключ -no-exceptions
однако эти факты мне ничего не дают - похоже придется переставлять Qt и генерить static заново, но с исключениями, если вообще это будет работать
Записан
2^7-1 == 127, задумайтесь...
Гурман
Гуру общения
Offline
Сообщений: 1442
Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12
Re: сборки Qt для static и shared компоновки конфликтуют
«
Ответ #5 :
Июль 14, 2010, 10:52 »
некогда было разбираться где что поломалось, снес сгенерированную static версию Qt под корешок, а shared версию переустановил заново прямо поверх имевшейся - проекты в shared варианте стали собираться
после чего установил параллельно снова отдельную версию Qt в каталог с суффиксом static и в нем сделал configure но уже без ключа -no-exceptions, сделал make, библиотеки собрались, проверил, что после этого shared варианты приложения тоже собираются
нельзя назвать это "решением", хотя вроде должно работать, но лезет другой косяк, отпишу в нем в более тематичном разделе
Записан
2^7-1 == 127, задумайтесь...
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...