Уменьшите размер двоичного файла и время компиляции при использовании библиотеки C ++ только для заголовков - PullRequest
0 голосов
/ 06 марта 2020

Я создаю библиотеку оболочки GDScript, используя в качестве основы библиотеку C ++ tiny-dnn.

Проблема заключается в том, что tiny-dnn предназначен только для заголовков, и я должен включить его в большинство библиотек. cpp файлов (в конце концов, я создаю оболочку). Это приводит к времени компиляции 1 минута / файл и двоичному файлу ~ 300 МБ.

В качестве «решения» я решил поместить весь свой код (20. cpp файлов) в большой файл и включить крошечный - только один раз. Скорость компиляции осталась прежней, но теперь у меня есть только один файл, а размер двоичного файла уменьшен до ~ 50 МБ. Основываясь на этом эксперименте, я предполагаю, что tiny-dnn копируется снова и снова, когда я включаю его.

Я могу продолжить свой проект, используя приведенное выше «решение», но я все еще задаюсь вопросом: есть ли способ сохранить уменьшенный двоичный размер и уменьшенное время компиляции, по-прежнему иметь отдельные файлы и все еще использовать tiny-dnn?

Кстати, я использую Linux и компилирую с g ++ вместе с SCons .

...