|
|
有三个文件
main.cpp
foo.h
foo.cpp
main.cpp中用
#ifdef __FOO__
#include "foo.h"
#endif
和
#ifdef __FOO__
foo();
#endif
在Makefile中-D__FOO__时,编译和运行都正常
没有-D__FOO__时,链接的时候报"undefined reference to foo()"
既然#ifdef是条件编译,为什么没有define __FOO__时还有reference to foo()呢?
我用笨办法把__FOO__有关的#ifdef都注释掉后就编译运行正常,想不通,各位指点一下。 |
|