我有一个包含多个可执行目标和多个共享库的复杂项目。共享库当前没有链接其依赖的共享库,结果是构建可执行文件的链接器参数非常长且难以维护。我想添加依赖项,以便Makefile变得更清晰。
我想添加以下内容(示例):
gcc -shared -o libshared.so -lshared_dependent1 -lshared_dependent2 objfile1.o objfile2.o
有没有办法测试libshared.so中的所有符号是否会基于该行解析? 如果指定的任何shared_dependent库是不必要的,有没有办法打印出来?
提前致谢。
答案 0 :(得分:1)
我知道如何强制没有未定义的符号:
-Wl,--no-undefined
由于autotools经常在Windows上抱怨这个缺失。
我不知道是否可以检查是否有任何未使用的库,而不是逐个删除它们。