假设我有两个源文件 — UndefErr.cpp:
您可以在 UndefErr.cpp 中看到,
#include <cstdio>
void UndefFunc();
void Func2(){UndefFunc();}
void Func1(){printf("Hi\n");}
以下是主要内容main.cpp:
void Func1();
int main(){
Func1();
return 0;
}
您可以在 UndefErr.cpp 中看到,
Func2()将触发错误,因为它使用未定义的 UndefFunc()。但是主函数并不关心 Func2()! 根据相关问题,我可以向链接器传递一个选项 --unresolved-symbols = ignore-in-object-files ,但我需要一种有点不同的东西。我需要链接器知道是否在某处使用了未定义的函数,仅在此情况下失败。
提出这样奇怪的问题的原因是我正在尝试使用 lwIP ,很难理解其所有依赖项(我只需要TCP / IP),我找不到互联网上的教程。 因此,我认为可以单独编译大多数(或全部) .c文件,并编写一些简单的测试以查看其功能。 但这种方法会遇到“未定义引用”,其中大部分可能与用例无关。
void UndefFunc() {}
- mark