明人不说暗话,直接上代码:
这里有两个路径下的同名head.h头文件。
includea/head.h
#define A 100
int funA(){return A;}
includeb/head.h
#define A 200
int funA(){return A;}
main.cpp
#include<iostream>
#include "head.h"
using namespace std;
int main(){
std::cout<<"begin..."<<endl;
std::cout<<funA()<<endl;
return 0;
}
makefile
FLAGS = -std=c++11
INCPATH = -I./includea
INCPATH += -I./includeb
all: main
main:main.cpp
g++ $(CFLAGS) $(INCPATH) -o main main.cpp
clean:
rm -rf main *.o *.d
运行结果:
即引用的是includea/head.h的头文件
结论:
编译时按顺序搜索引用的头文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)