windows7下makefile例程
来源:互联网 发布:淘宝店铺怎么换客服 编辑:程序博客网 时间:2024/06/05 15:31
最近因为工作关系需要接触makefile,感觉在dos窗口下输入一个make后就可以等着目标文件生成的感觉还是很舒服的,相比原来使用IDE开发,我觉得makefile让我对编译过程有了进一步的了解。
首先创建一个c源文件a.c
代码如下:
#include"stdio.h"void main(){printf("hello makefile\n");}
然后新建一个文本文档,名字改为makefile,然后去掉后缀名,然后编辑这个文件
makefile具体内容如下:
DIR = D:\MyDownloads\Download\VC6.0green\VC98\IncludeLIB_DIR = D:\MyDownloads\Download\VC6.0green\VC98\LibTest:a.objLink a.obj $(LIB_DIR)/LIBC.LIB $(LIB_DIR)/OLDNAMES.LIB $(LIB_DIR)/KERNEL32.LIBa.obj:a.ccl a.c -I $(DIR) $(LIB_DIR)/LIBC.LIB $(LIB_DIR)/OLDNAMES.LIB $(LIB_DIR)/KERNEL32.LIB clean:@echo clean the following files:rm a.exerm a.obj@echo Done!
按代码顺序解释下:
1DIR是创建的一个变量,这个变量就是一个目录,这个目录是存放了c程序中stdio.h的路径
2LIB_DIR同DIR,这个路径是存放了编译中需要用到的静态库的路径,这三个静态库分别为LIBC.LIB OLDNAMES.LIB KERNEL32.LIB
4目标文件为Test,冒号后面为生成这个目标文件的依赖文件,也就是a.obj
5链接a.obj还有那三个静态库来生成目标文件
6中间文件a.obj,冒号后面同样是依赖文件
7编译源文件a.c还有三个静态库文件
8clean 便于重新编译链接
9@echo 后面的内容是显示在dos中的内容
10移除a.exe
11移除a.obj
12同9
makefile编写完成后的操作过程:
进入dos窗口,然后进入到含有makefile的目录下,输入make,运行完成后输入a.exe就可以看见打印信息。
然后输出make clean就可以清除a.exe和a.obj
在编写makefile中遇到的问题:
1对于源文件不在同一目录下的处理
解决方法:定义一个目录,然后在编译链接过程中的依赖目录中加入对应库文件,如果是在别的目录下的头文件,那么在依赖关系中前需要加入-I(i)。
0 0
- windows7下makefile例程
- GCC的makefile例程
- makefile编写例程
- Makefile-例程讲解
- windows7 android studio jni 例程
- 应用程序的makefile编写例程
- Makefile(下)
- XP下卸载WINDOWS7
- windows7下设置IIS
- Windows7下Oracle卸载
- Windows7下安装SQLServer2005
- Windows7下删除Ubuntu
- windows7下开启telnet
- windows7下安装mingw
- Windows7下破解VS2008
- Windows7下安装fedora16
- windows7 下安装ubuntu
- windows7下净化开始菜单
- 程序员的30本书——经典中的经典
- LeetCode 40. Combination Sum II
- 安卓获取顶层应用的包名
- android:layout_gravity 和 android:gravity 的区别
- html5 读取本地文件说明和实例
- windows7下makefile例程
- 玩转iOS开发:《iOS设计模式 — 代理模式》
- 企业应该如何运用商业智能
- sql server 跨数据库复制表
- 伟大的程序员是怎样炼成的?
- VC加载NT式驱动
- android+json+php+mysql实现用户反馈功能
- Android Application类的介绍
- ES6学习-let和const