Как в VS 2022 компилировать .hpp файлы в статическую библиотеку?
Имеется C++ библиотека состоящая из набора .hpp файлов, которые и содержат её функции.
Я добавил их как исходные файлы в проект VS который должен сгенерировать .lib файл, но он не хочет их компилировать.
Как заставить воспринимать .hpp файлы в качестве .cpp?
а самое банальное: добавление cpp файла с инклюдом этих hpp не помогает?
правда если там шаблоны, то нужно инстансиировать их с нужными параметрами
в общем библиотека на hpp это header-only библиотека и как правило не оставляет от себя отдельных артефактов после сборки, а размазывает их по тому, где была использована
Имя,
если не помогло, значит там шаблоны и значит нужно просто инклюдить эту библиотеку где нужно её использовать, а не страдать с созданием статических библиотек, которые полноценно априори невозможны, т.к. ещё раз
в общем библиотека на hpp это header-only библиотека и как правило не оставляет от себя отдельных артефактов после сборки, а размазывает их по тому, где была использована
IvanU7n, создавать .lib приходится поскольку эту библиотеку требуется вызывать из Rust.
Хорошо, а если я создам C файл с функцией в которую вынесу нужный мне функционал и буду компилировать этот .c файл в .lib, будет ли весь необходимый код(библиотеки) содержаться в .lib?
Имя, если это библиотека на шаблонах, то скорее ничего не получится, т.к. не зря там нет исходников, ибо шаблоны это исключительно compile-time штука, причём compile-time именно С++
что-то может получиться (и то не факт) только если сделать шаблонные инстансы для конкретных типов и написать для них обёртку с extern "C" типа
extern "C" int func1(int a) { return libraryFunc1(a); }
а что за библиотека такая? неужели для Раста нет альтернатив? что-то мне кажется, что такое скрещивание ужа с ежом ничем хорошим не кончится