【原创】设置头文件路径, gcc -I 选项写法
2013-04-02 00:51
309 查看
网上关于gcc -I 的教程好少,试左成晚终于试左出来。
假如系目录 ~/testmake/下面有2个c文件同1个makefile: file1.c file2.c Makefile系另个目录 ~/testmake/headfiles/ 有1个头文件: file2.h
其中file2.h内容为:
即系头文件同埋c文件唔系同1个目录, 有两种写法:
===============================================================================================第一种写法://file1.c
//file2.c
//Makefile
===============================================================================================第二种写法:
//file1.c
//file2.c
//Makefile
假如系目录 ~/testmake/下面有2个c文件同1个makefile: file1.c file2.c Makefile系另个目录 ~/testmake/headfiles/ 有1个头文件: file2.h
其中file2.h内容为:
#ifndef __FILE2_H_#define __FILE2_H_ void File2Print();#endif
即系头文件同埋c文件唔系同1个目录, 有两种写法:
===============================================================================================第一种写法://file1.c
#include <stdio.h>#include "./headfiles/file2.h" //注明路径 int main(){ printf("print file1$$$$$$\n"); File2Print(); return 0;}
//file2.c
#include <stdio.h>#include "./headfiles/file2.h" //注明路径 void File2Print(){ printf("Print file2**********\n"); }
//Makefile
helloworld: file1.o file2.o gcc file1.o file2.o -o helloworld file1.o: file1.c ./headfiles/file2.h gcc -c file1.c -o file1.o file2.o: file2.c ./headfiles/file2.h gcc -c file2.c -o file2.o clean: rm *.o呢种方法 没有使用gcc -I , 但系当file2.h的路径改变的话, 要同时维护makefile 和 file1.c file2.c 文件.
===============================================================================================第二种写法:
//file1.c
#include <stdio.h>#include "file2.h" //<file2.h> 也可 int main(){ printf("print file1$$$$$$\n"); File2Print(); return 0;}
//file2.c
#include <stdio.h>#include "file2.h" //<file2.h> 也可 void File2Print(){ printf("Print file2**********\n"); }
//Makefile
helloworld: file1.o file2.o gcc file1.o file2.o -o helloworld file1.o: file1.c //不需要指明依赖的file2.h 前提是file2.h这个文件存在于./headfiles/ ,而不能是其他名字. gcc -c file1.c -I ./headfiles/ -o file1.o //加上-I 选项 file2.o: file2.c gcc -c file2.c -I ./headfiles/ -o file2.o clean: rm *.o呢种方法采用-I选项, 但只需维护makefile 1个文件。
相关文章推荐
- 【原创】设置头文件路径, gcc -I 选项写法
- GCC选项——不使用默认系统库函数及不搜索默认头文件路径
- CMakeLists.txt文件写法(11):让编译者在界面上设置你提供的选项
- GCC在C文件中设置pragma选项防止此文件的代码被优化
- Mysql:命令选项、配置选项、(全局、会话)系统变量、状态变量:和路径、文件名称相关的设置
- gcc -l参数和-L参数(编译时头文件路径和库文件路径的设置相关)
- C#文件路径的写法
- 文件路径(相对、绝对路)、项目设置中的使用
- gcc编译链接时指定头文件和库文件搜索路径
- vs2008设置lib和h文件路径
- jar包中读取文件系统绝对路径,相对路径,以及jar包内部路径的写法
- MyEclipse编译后,classes文件夹下为空2. 3.删除现在的项目,提前设置好编译文件输出路径,重新导入源文件,设置eclipse为保存时编译,然后在保存的时候就可以自动编译了
- DefenseWall帮助文件中文整理版之设置与选项
- 08项目文章编辑器上传文件路径及路径设置操作步骤
- C#中文件路径的设置
- java中使用相对路径读取文件的写法总结 以及getResourceAsStream()
- 打开ipynb文件——Jupyter Notebook——怎么设置路径
- new file(file)文件路径设置方法
- 设置浏览文件 选择当前选择路径
- 修改JFileChooser对话框风格,设置打开对话框的默认文件名,获取改变路径之后的文件保存路径