分类: C/C++
2009-07-23 10:46:44
1. 未定义符号错误报警:
a. 书写错误,写错符号;
b. 缺乏动态或静态链接库:如上面的错误是编译时缺-lelf参数;
c. 缺乏头文件,没有包含进来;
2. ELF错误报警:
可能原因:
a. 缺乏编译参数:如上面的错误是编译时缺-xarch=amd64参数;
3. 编译器报不可思议之错误:
看上去很多错误,连main都变成了参数不在标识符列表中,这完全就不可能嘛。反复检查相关程序都是对的。最后只能采用分段注释的方法进行排查,最后发现是某头文件中,定义全局变量extern SYS_DB *map_db()没有加封号,结果编译器报错都在后面。
可能原因:
a. 头文件中存在错误;如果声明函数没有加封号,这种错误害死人。
b. 宏定义部分存在错误,宏定义不需要加封号!!!
c. 今天才发现的,就是比如下面的函数定义:
|
此时,编译器会报出一个很奇怪的错误,当我去检查头文件的时候,却找不出任何问题。可是当我把代码修改为下面的形式时,错误消失了,你能看出问题吗??
|