在C/C++程序中的#include可以包含头文件。用尖括号的方式,可以包含一些系统库头文件,但是怎么通过这种方式包含自定义的头文件,而且编译器能搜索到呢?
在Makefile中使用-I参数即可。如写个测试程序,目录结构如下:
- /home
- test
test.h
- main
main.cpp
Makefile
在main.cpp中要包含test/test.h可以有两种做法。
值得注意的是,第二种方法,如果要包含的自定义头文件与系统库中的重名,可能会包含错误文件,故需慎用。一是,直接在main.cpp中使用#include "../test/test.h'
二是,在main.cpp中使用#include <test.h>,并且在Makefile中使用-I../test,即Makefile可能这样写
test: main.cpp
g++ -o test main.cpp -I../test