我正在编译我的共享库,它打算在我的另一个(主)共享库中使用。因此,整个设置使用 cmake 大致编译如下:
对于“主”共享库:
ADD_LIBRARY(lib_outer SHARED
....
)
TARGET_LINK_LIBRARIES(lib_outer
lib_inner
...
)
对于其他共享库:
ADD_LIBRARY(lib_inner SHARED
....
)
现在,lib_inner
使用了第二个中定义和实现的一些函数lib_outer
,这导致了Undefined symbols for architecture x86_64
链接错误。
我可以以某种方式告诉cmake
忽略那些吗?我应该使用“外部when using those functions inside
lib_inner”之类的东西吗?我想解决方案很简单,但我从来没有遇到过这样的问题。