GCC/G++常见链接错误
2011-04-20 09:21 zhenjing 阅读(1161) 评论(0) 编辑 收藏 举报链接错误的直接表现就是:****符号未定义。几种常见的链接错误如下:
- 缺少*.o文件 ---- 对策:将相应的文件加入Makefile或命令行
- *.o文件未更新 ---- 对策:删除旧*.o文件重新编译或者依赖于最新的depend来编译(增删文件时确保make depend)。
- 缺少相应的库文件 ---- 对策:将相应的文件加入Makefile或命令行
- 依赖的库文件版本不对或未更新 ---- 对策:重新生成所依赖的库文件
- 库文件的出现顺序不对 ----- 对策:根据库的依赖关系,调整库出现的顺序。原则:只允许先出现的库依赖于后出现的库。
其中,第5种错误最难发现。如果发现程序所需的库都已经引入,但仍出现链接错误,应理清库之间的依赖关系,确认是否某些基本库被放到前面,导致后面的库无法找到前面库中的符号信息!据说对于高版本gcc没有这个问题。
作者:zhenjing.chen
出处:http://www.cnblogs.com/zhenjing/
未注明转载的文章,版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。