Описание тега header-only

In C or C++, a library is called header-only if the full definitions of all macros, functions and classes comprising the library are visible to the compiler in a header file form.
3 ответа

CMake: библиотека только для заголовков с созданными файлами

У меня есть библиотека, которая должна нести некоторые постоянные данные, введенные из содержимого не исходных файлов (в данном случае, код шейдера OpenGL). Для достижения этого я использую add_custom_command() генерировать включаемые файлы, которые…
10 фев '15 в 00:15
3 ответа

Как правильно использовать библиотеку только для заголовков?

Я столкнулся с путаницей относительно того, как правильно использовать библиотеку только для заголовков. Поиск в Google не помог, поскольку я не нашел ничего об использовании библиотек только для заголовков. Поэтому мой вопрос: нужно ли просто скопи…
26 авг '15 в 11:28
1 ответ

Встроенные функции C++ и шаблонные функции в библиотеке только для заголовков

Чтобы избежать загрузки кода из-за чрезмерного встраивания...Это правильный способ реализации шаблонной функции, которая действует как встроенная функция? Исходное объявление встроенной функции: inline double MyInlineFunction(){ return 3.14159265358…
26 апр '17 в 17:38
1 ответ

Встроенная функция компиляции

Я намереваюсь предоставить простые оболочки для API операционной системы, которые выдают исключения при возникновении ошибок. Эти обертки просты, и все они определены как встроенные функции в заголовочном файле. Поскольку системный API должен быть б…
4 ответа

Когда мне следует подумать о создании библиотеки только для заголовков?

Очевидно, что библиотеки шаблонов должны быть только заголовками, но для не-шаблонов, когда вы должны делать вещи только для заголовков?
28 май '11 в 22:48
3 ответа

Количественные метрики (тесты) по использованию библиотек C++ только для заголовков

Я пытался найти ответ на это с помощью SO. Есть ряд вопросов, в которых перечисляются различные плюсы и минусы создания библиотеки с заголовками в C++, но я не смог найти такую, которая бы делала это в количественном выражении. Итак, в количественно…
05 сен '12 в 22:23
1 ответ

Установить только заголовочную библиотеку с Python

У меня есть библиотека C++ только для заголовков, которую я использую в своих расширениях Python. Я хотел бы иметь возможность установить их по пути включения Python, так что я могу очень легко скомпилировать расширения с python3 setup.py build, Я ч…
2 ответа

C++ только для заголовков с глобальным состоянием в общей библиотеке

Я работаю над библиотекой C++, которую я бы в идеале оставил только в заголовках. Определенная часть этой библиотеки требует глобального состояния.Скажем, для этого примера нужен глобальный вектор строк. Я могу легко достичь этого с static переменна…
2 ответа

CLion не разрешает заголовки из внешней библиотеки

Некоторое время назад я запустил большую библиотеку заголовков в C++1x, используя XCode. Текущий макет библиотеки () похож на (частичный вывод из ls -R sponf) sponf/sponf: ancestors sponf.h sponf_utilities.h categories sponf_children.h utilities chi…
11 фев '15 в 08:20
0 ответов

Круговая зависимость только для заголовка

У меня проблемы с циклической зависимостью в библиотеке с заголовком для C++, которая не была бы проблемой циклической зависимости при использовании исходных файлов вместо создания всего только заголовка. Ситуация равна этому: Существует четыре файл…
13 июн '15 в 16:44
7 ответов

Дизайн библиотеки: позволить пользователю выбирать между "только заголовком" и динамически связанным?

Я создал несколько библиотек C++, которые в настоящее время только для заголовков. И интерфейс, и реализация моих классов написаны одинаково .hpp файл. Я недавно начал думать, что такой дизайн не очень хорош: Если пользователь хочет скомпилировать б…
01 сен '14 в 13:15
0 ответов

Структурирование однофайловых / только заголовочных библиотек в C++

Считается ли хорошей практикой структурировать библиотеки с одним файлом / только заголовки в C++ таким образом, чтобы они были условно либо заголовком, либо реализацией? Например, #ifndef LIBRARY_HEADER_HPP_ #define LIBRARY_HEADER_HPP_ // Header st…
04 янв '17 в 02:55
0 ответов

Двойное включение и только заголовки библиотеки stbi_image

У меня есть main.cpp, включающий в себя ах (который имеет свой собственный a.cpp) ах включает в себя только библиотеку заголовков "stbi_image.h" как таковой: #ifndef STB_IMAGE_IMPLEMENTATION #define STB_IMAGE_IMPLEMENTATION #include "stb_image.h" #e…
11 апр '17 в 14:26
6 ответов

В CLion только библиотека заголовков: файл "не принадлежит ни одной цели проекта, функции анализа кода могут работать некорректно"

У меня есть проект библиотеки только для заголовков, настроенный с помощью команды cmake: add_library(my_library INTERFACE) и я также добавил target_sources(my_library INTERFACE ${MY_LIRBARY_HEADER_FILES}) но когда я открываю исходный файл, я получа…
15 сен '17 в 18:42
0 ответов

Как перейти с проекта только для заголовка?

У нас есть база кода C++ только для заголовков (VS 2010, Eclipse, Makefile) с около 450 файлами (3,6 МБ). Повседневная работа стала усложняться из-за долгого (4 минуты) времени компиляции. Меньшая его часть, около 20%, является шаблонной, но другие …
18 дек '13 в 16:19
1 ответ

Как получить библиотеку заголовков, переносимых из системы контроля версий с использованием CMake?

Для типичной библиотеки заголовков C++, расположенной, например, на github, по адресу: https://github.com/username/library_name, имеет структуру каталогов с include/library_name папка как: include/library_name содержащий все источники библиотеки. Об…
20 фев '15 в 12:31
2 ответа

Статические данные в библиотеках только для заголовков

Я занимаюсь разработкой библиотеки, которая будет состоять только из заголовочных файлов. Пока что он содержит только классы, что было хорошо. Тем не менее, я пришел к тому, что мне нужно иметь в библиотеке некоторые неизменяемые неизменяемые данные…
06 сен '12 в 17:47
2 ответа

Что не так с C++ приложением только для заголовков?

Мне интересно кодировать приложение C++ с макетом только для заголовка, как показано ниже: // code3.h #include <iostream> class code3 { public: void print() { std::cout << "hello " << std::endl; } }; // code2.h #include "code3.h" c…
0 ответов

CMake: как работать с несколькими версиями одних и тех же библиотек?

В моем проекте я использую только библиотеку headerjson v1.1.0. └── my_project ├── CMakeLists.txt ├── src │ ├── 3rdParty/tiny_dnn (header only) │ ├── CMakeLists.txt │ ├── src │ └── rapidjson_v0.2 │ └── rapidjson_v1.1.0 Теперь проблема заключается в …
3 ответа

Запрещение сгенерированного CMake make-файла для библиотеки с дополнительным заголовком при компиляции исходных файлов в режиме только заголовка

У меня есть библиотека, которую можно использовать как библиотеку только для заголовков и как традиционную библиотеку. Чтобы включить эту опциональную функцию только для заголовка, библиотека включает .cpp исходные файлы, если они скомпилированы в р…
09 янв '15 в 18:14