原理

编译1个二进制的四个步骤:预处理、汇编、编译、链接。当编译过程中出现上面的”undifined refernce to xxxx”的时候,通常表面院代码能够预处理通过,并且可以汇编成.o文件,但是在
链接过程中出现符合无法解析的情况。

解决方法

根据上面的问题及其原因,常见的解决办法包括:

检查是否确把依赖的动态库或者静态库添加到make file或者其他编译文件;

( 如果已经添加了,到下一步)

检查被依赖的库的函数的实现接口是否和实际被依赖的库相同

检查被依赖的库的函数的声明接口是否和实际被依赖的库相同

总结

对于常见的编译问题,只有深入立即编译过程,才能高效解决问题,避免无效反复重试。