Russian Qt Forum
Ноябрь 23, 2024, 23:58
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Подключение ОЧЕНЬ большого header в проект
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Подключение ОЧЕНЬ большого header в проект (Прочитано 6118 раз)
titan83
Гость
Подключение ОЧЕНЬ большого header в проект
«
:
Август 20, 2016, 10:51 »
Уважаемые коллеги, здравствуйте.
В одном своем проекте начал использовать математическую библиотеку exprtk - вещь классная, но автор выбрал путь одного большого хидера, в котором также размещена и реализация. В результате exprtk.hpp получился 1,2Mb.
Если я вношу любые изменения в класс, к которому этот хидер подключен, то на 5 минут я отдыхаю от разработки - это очень неудобно.
Я попробовал использовать precompiled header, но, видимо, что-то я не доделал, т.к. никакого эффекта мои действия не возымели.
Добавил в pro-файл такую строку:
PRECOMPILED_HEADER = libs/exprtk/exprtk.hpp
Ошибок нет, но и компиляция идет каждый раз.
Может кто сталкивался с подобным вопросом?
Спасибо.
Записан
titan83
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #1 :
Август 20, 2016, 15:18 »
В pro-файл добавил
CONFIG += precompile_header
В копиляции вижу, что добавился ключ к командной строке компилятора, но компиляция все также около 5 минут.
Записан
Bepec
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #2 :
Август 20, 2016, 21:17 »
Старый Qt на mingw не поддерживает precompiled.
Версию компилятора б хоть привели )
Записан
titan83
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #3 :
Август 21, 2016, 11:45 »
Вы правы, привожу:
gcc 4.7
вроде как все поддерживает.
Записан
Bepec
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #4 :
Август 21, 2016, 11:56 »
А куте какой?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #5 :
Август 21, 2016, 18:00 »
в precompiled header суются неизменные заголовочные файлы
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Vamireh
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #6 :
Август 21, 2016, 20:51 »
А если написать свою dll-ку типа ExprtkWrapper, где во внешний интерфейс вынести необходимый вам функционал exprtk, а exprtk.hpp подключать только в cpp этой своей либы?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #7 :
Август 21, 2016, 20:59 »
Цитата: Vamireh от Август 21, 2016, 20:51
А если написать свою dll-ку типа ExprtkWrapper, где во внешний интерфейс вынести необходимый вам функционал exprtk, а exprtk.hpp подключать только в cpp этой своей либы?
Судя по всему, это шаблонная библиотека, поэтому от хедера особо не избавиться.
Записан
Vamireh
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #8 :
Август 21, 2016, 21:12 »
Ну вообще, у меня был подобный случай. Я просто распотрошил коды сторонней либы и оставил только то, что мне нужно. Способ идиотский, но поставленной цели я достиг.
Записан
titan83
Гость
Re: Подключение ОЧЕНЬ большого header в проект
«
Ответ #9 :
Август 29, 2016, 09:04 »
Коллеги, всем спасибо за ответы.
Итоги такие: первая сборка - около 2 часов, последующие неполные сборки - около 5-7 минут.
Без либы проект собирался бы секунд за 30.
Похоже, что пора переходить со старого ноута на мощненький десктоп.
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...