【发布时间】:2019-04-04 23:12:53
【问题描述】:
我想创建一个与 musl libc(或其他一些 libc)静态链接的 .so 共享对象。这样其他人就可以在运行时动态链接我的 .so 文件,而不必担心他们的平台上有某些 libc。这可能吗 ?如果是这样,我如何在 CMake 中实现这一点?
【问题讨论】:
标签: c cmake cross-compiling
我想创建一个与 musl libc(或其他一些 libc)静态链接的 .so 共享对象。这样其他人就可以在运行时动态链接我的 .so 文件,而不必担心他们的平台上有某些 libc。这可能吗 ?如果是这样,我如何在 CMake 中实现这一点?
【问题讨论】:
标签: c cmake cross-compiling
您应该能够通过静态链接到共享库中的依赖库并将此类链接设为私有(即target_link_libraries(MyLib PRIVATE dependencies...))来实现此目的。
然后,您必须确保任何依赖库的任何部分都不会暴露给共享库的使用者(包括任何标头都算作暴露)。 PImpl 技术可能对您有用。
【讨论】: