¿Hay alguna manera de ignorar las referencias indefinidas no utilizadas?
Supongamos que tengo dos archivos de origen:UndefErr.cpp:
#include <cstdio>
void UndefFunc();
void Func2(){UndefFunc();}
void Func1(){printf("Hi\n");}
Y elmain.cpp:
void Func1();
int main(){
Func1();
return 0;
}
Como ves en elUndefErr.cpp elFunc2()
va a desencadenar un error, ya que utiliza el indefinidoUndefFunc()
. Sin embargo, la función principal no se preocupa por elFunc2()
! De acuerdo auna pregunta relevante Podría pasar una opción--unresolved-symbols = ignore-in-object-files al enlazador, pero quiero algo un poco diferente. Necesito un enlazador para saber si las funciones indefinidas se usaron en algún lugar, y solo entonces fallan.
La razón para hacer una pregunta tan extraña es que estoy tratando de usar unlwIP, y es difícil entender todas sus dependencias(Solo necesito TCP / IP), y no puedo encontrar tutoriales en internet. Así que pensé que podría compilar más(o todos) los archivos .c por separado y escriba algunas pruebas simples para ver qué hace. Pero este enfoque tropieza con "referencias indefinidas", la mayoría de ellas probablemente irrelevantes para el caso de uso.