原理
编译1个二进制的四个步骤:预处理、汇编、编译、链接。当编译过程中出现上面的”undifined refernce to xxxx”的时候,通常表面院代码能够预处理通过,并且可以汇编成.o文件,但是在
链接过程中出现符合无法解析的情况。
解决方法
根据上面的问题及其原因,常见的解决办法包括:
检查是否确把依赖的动态库或者静态库添加到make file或者其他编译文件;
( 如果已经添加了,到下一步)
检查被依赖的库的函数的实现接口是否和实际被依赖的库相同
检查被依赖的库的函数的声明接口是否和实际被依赖的库相同
总结
对于常见的编译问题,只有深入立即编译过程,才能高效解决问题,避免无效反复重试。