Как собрать библиотеку HIDAPI в режиме выпуска в Linux?
Режим выпуска обычно означает (1) оптимизации на -O2
или -O3
и (2) отладочные утвержденияудален. Для (2) вы обычно определяете -DNDEBUG
. Таким образом, ваш CPPFLAGS
должен включать -DNDEBUG
;и ваши CFLAGS
и CXXFLAGS
должны включать -O2
или -O3
.
В выпусках могут быть (или не могут) символы. Там нет особого смысла в извлечении символов в публичной библиотеке. Имеет больше смысла удалять символы в закрытом исходном / частном двоичном файле. Обычно вы не хотите разбивать, потому что зачистка делает трассировку стека бесполезной.
С учетом вышесказанного стандартная цель GNU Make для удаления двоичных файлов равна make install-strip
;см. 16.6 Стандартные цели для пользователей в руководстве по GNU Make. И обратите внимание на руководство:
install-strip
не должно удалять исполняемые файлы в каталоге сборки, которые копируются для установки. Следует удалять только установленные копии.
Также обратите внимание, что общие объекты должны экспортировать открытые символы, поэтому вы не можете удалить столько символов, сколько ожидаете. Вы также можете быть заинтересованы в Символ видимости в вики GCC.
Как я могу сгенерировать .so файл библиотеки HIDAPI в режиме выпуска для Linux?
Подводя итог, можно построить с:
CPPFLAGS
должен включать -DNDEBUG
CFLAGS
должен включать -O2
или -O3
CXXFLAGS
должен включать -O2
или -O3
и устанавливать с: