今天农民甲在编译一个工程的时候遇到个问题,搞了半天,蠢透了,情况如下:
1. ./configure了一下,设置了一个option(其实就是加了个预编译宏)
2. make出来
3. 觉得还是不要那个option好了,所以重新./configure了一下,desable了那个宏
4. 继续make......NND!怎么编译出错了???!!!恩,等等,是连接错了!!!为啥???
原来是之前编译出来的o文件都没删掉,所以再次make的时候跳过了编译过程,直接连接这些o文件,啊哈,完蛋!被那个死掉了的宏屏蔽掉的一个symbol找不到定义了。。。
所以说,懒人是做不得的,重新./configrue以及make的时候,还是先make clean一把吧,教训啊!