假设我有 2 个静态库
ex1.a ex2.a
在这两个库中我将定义 10 个相同的函数
当编译示例测试代码“test.c”时,我链接到静态库 ex1.a 和 ex2.a
在“test.c”中我只会调用3个函数,然后我会得到 链接器错误“ex1.a 和 ex2.a 库中定义的符号相同”这是好的。
我的问题是: 1.为什么这个错误只显示3个函数作为多重定义..为什么不列出所有10个函数
- 在 VC8 中,如何列出所有多个定义的符号,而不在测试代码中实际调用该函数...
谢谢
最佳答案
那是因为,链接器在编译和链接具有函数调用的代码时尝试解析符号名称。仅当代码有一些函数调用时,链接器才会尝试在测试代码或链接的库中解析它,此时它会找到多个定义。如果没有调用任何函数,那么我想没问题。
关于c - 如何从VC8中的2个静态库中获取所有符号冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289348/