【发布时间】:2017-04-30 12:26:17
【问题描述】:
我已经分别构建了 zlib 和 libpng(这些库是什么无关紧要),所以我现在有了 libz.so 和 libpng.so。使用 dlopen() 和 dlsym() 我从 libpng.so 获取函数指针并使用它们,但问题是,由于 libpng 依赖于 zlib,我得到链接器错误当 libpng 函数在自身内部调用一些 zlib 函数时。所以我的问题是:是否可以在不将 zlib 与 libpng 一起构建的情况下解决这个问题?我可以从 zlib 中获取符号名称并让 libpng 看到它们吗?
附:由于任务,我无法使用动态链接。
【问题讨论】:
-
为什么要使用 dlopen/dlsym 而不仅仅是与库链接?
-
只要确保你没有循环依赖。
-
我不想使用 dlopen/dlsym,但我的老师想要 :)
标签: c++ linux compilation linker shared-libraries