Библиотека
Stripped означает только то, что символы отладки были удалены.Остальная часть библиотеки на месте.Проблема, с которой вы можете столкнуться, связываясь с такой библиотекой, заключается в предупреждении компоновщика об отсутствии символов отладки.Другая проблема, которую вы можете получить с удаленной библиотекой, - это отладка без надлежащих символов отладки, это немного забавно.
К вопросу о внешних / внешних символах (вы имеете в виду экспортированные?), Если вы ссылаетесь настатическая библиотека, ей не нужно определять какие-либо «экспорты», так как она связана с вашим кодом просто как большой объектный файл.Связывание с динамической библиотекой немного отличается в зависимости от платформы, которая вас интересует. В Windows ваша dll должна объявить функцию, которую вы хотите использовать как (declspec) __dllexport
.В Linux, если память мне не нужна, нет необходимости объявлять что-либо подобное, и вы можете использовать свои функции из файла .so, как если бы они были в вашем коде, аналогично статическим библиотекам.
Обновление:
Алекс, я не уверен на 100%, но я верю, что то, что я написал о linux, применимо к OS X в этом случае.Пока у вас есть заголовочный файл с объявлениями функций, вы сможете использовать их очень хорошо.Если у вас нет некоторых функций в предоставленном заголовочном файле, но у вас есть доступ к источникам, вы можете создать свои собственные.Однако это довольно плохая идея, так как авторы SDK не хотели предоставлять вам доступ к этим функциям и не добавляли их в общедоступные заголовочные файлы, поэтому они могут свободно изменять свои функции по своему усмотрению в любое время.потенциально оставляя вас с нерабочим кодом и необходимостью переписывать / перепроектировать определенные вещи.То же самое относится ко всем «недокументированным» функциям, они могут быть изменены или удалены, и если это вызывает у вас проблемы, вы единственный виновный и единственный человек, который будет заботиться.Действуйте с осторожностью.