【发布时间】:2025-12-24 17:40:12
【问题描述】:
在以下网页中,
https://developer.android.com/ndk/guides/cpp-support
它指出使用c++_static 编译的两个库(libA.so、libB.so)打破了单一定义规则,其中将为不同库中的 c++ 函数定义多个符号。这种情况是未定义的行为,可能会出现多个错误。
但是,我不知道以下情况是否也会发生这种情况:
- 我编译
libA.a链接agsintc++_static - 然后我编译
libB.so并链接到c++_static和libA.a
在这种情况下,问题不会发生,将共享库链接到静态库是安全的,我正确吗?或者libc++中的符号是否嵌入在libA.a中?
【问题讨论】:
标签: android c++ android-ndk static-linking libc++