Название: Подключение ОЧЕНЬ большого header в проект Отправлено: titan83 от Август 20, 2016, 10:51 Уважаемые коллеги, здравствуйте.
В одном своем проекте начал использовать математическую библиотеку exprtk - вещь классная, но автор выбрал путь одного большого хидера, в котором также размещена и реализация. В результате exprtk.hpp получился 1,2Mb. Если я вношу любые изменения в класс, к которому этот хидер подключен, то на 5 минут я отдыхаю от разработки - это очень неудобно. Я попробовал использовать precompiled header, но, видимо, что-то я не доделал, т.к. никакого эффекта мои действия не возымели. Добавил в pro-файл такую строку: PRECOMPILED_HEADER = libs/exprtk/exprtk.hpp Ошибок нет, но и компиляция идет каждый раз. Может кто сталкивался с подобным вопросом? Спасибо. Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: titan83 от Август 20, 2016, 15:18 В pro-файл добавил
CONFIG += precompile_header В копиляции вижу, что добавился ключ к командной строке компилятора, но компиляция все также около 5 минут. Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: Bepec от Август 20, 2016, 21:17 Старый Qt на mingw не поддерживает precompiled.
Версию компилятора б хоть привели ) Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: titan83 от Август 21, 2016, 11:45 Вы правы, привожу:
gcc 4.7 вроде как все поддерживает. Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: Bepec от Август 21, 2016, 11:56 А куте какой?
Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: kambala от Август 21, 2016, 18:00 в precompiled header суются неизменные заголовочные файлы
Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: Vamireh от Август 21, 2016, 20:51 А если написать свою dll-ку типа ExprtkWrapper, где во внешний интерфейс вынести необходимый вам функционал exprtk, а exprtk.hpp подключать только в cpp этой своей либы?
Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: Old от Август 21, 2016, 20:59 А если написать свою dll-ку типа ExprtkWrapper, где во внешний интерфейс вынести необходимый вам функционал exprtk, а exprtk.hpp подключать только в cpp этой своей либы? Судя по всему, это шаблонная библиотека, поэтому от хедера особо не избавиться.Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: Vamireh от Август 21, 2016, 21:12 Ну вообще, у меня был подобный случай. Я просто распотрошил коды сторонней либы и оставил только то, что мне нужно. Способ идиотский, но поставленной цели я достиг.
Название: Re: Подключение ОЧЕНЬ большого header в проект Отправлено: titan83 от Август 29, 2016, 09:04 Коллеги, всем спасибо за ответы.
Итоги такие: первая сборка - около 2 часов, последующие неполные сборки - около 5-7 минут. Без либы проект собирался бы секунд за 30. Похоже, что пора переходить со старого ноута на мощненький десктоп. |