windows平台下makefile操作教程

嵌入式操作系统

57人已加入

描述

  Makefile

  一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

  makefile定义

  Linux 环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是 Unix程序员。在 Linux(unix )环境下使用GNU 的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile 文件的编写。

  所要完成的Makefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile 的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(通常对于一个工程来说会是多个)正确的 Makefile。编译整个工程你所要做的唯一的一件事就是在shell 提示符下输入make命令。整个工程完全自动编译,极大提高了效率。

  make是一个命令工具,它解释Makefile 中的指令(应该说是规则)。在Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。Makefile 有自己的书写格式、关键字、函数。像C 语言有自己的格式、关键字和函数一样。而且在Makefile 中可以使用系统shell所提供的任何命令来完成想要的工作。Makefile(在其它的系统上可能是另外的文件名)在绝大多数的IDE 开发环境中都在使用,已经成为一种工程的编译方法。

  windows平台下makefile操作教程

  Happy TimeWindows系统下如何使用makefile

  makefile在windows之外的系统中广泛使用,大多数程序员依赖于vs的IDE; 掌握使用makefile,对于自动化构建很有用

  vs使用nmake.exe作为构建的工具,有别于linux的make

  nmake.exe在vs的安装目录下,

  vs2005的默认目录是:C:\Program Files\Microsoft Visual Studio 8\VC\bin 或者 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin (通常两个目录下文件为同一个)

  vs2003的默认目录是:C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin 或者 C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin

  打开DOS窗口,输入nmake,可能会出现如下错误提示:

  WINDOWS

  这是因为在vs的安装过程中,没有注册vs的环境变量,可以通过如下方法查看自己是否已经注册好vs的环境变量:

  在DOS窗口中输入set path, 则会看到如下提示:

  WINDOWS

  我这边已经注册好环境变量了,如果你没有看到,可以将vs的bin目录添加到系统环境目录的path里

  WINDOWS

  重新打开DOS窗口,输入nmake,如果提示如下,则说明环境目录注册成功:

  WINDOWS

  这时,可以开始我们的编译了,打开DOS窗口,导航到源代码目录,执行nmake,注意nmake对应的编译为makefile(无后缀名)

  如果你系统里面有好几个vs版本,建议不要将环境变量添加到path里,我的做法是这样的:

  1,在C:\下面新建目录utils,并将该目录添加到path的环境变量中

  2, 将vs2005的bin目录下的vcvars32.bat和vs2003的vcvars32.bat分别copy到C:\Utils目录下,重命名为vc8.bat和vc7.bat

  3,执行nmake前先执行vc7.bat(使用vs2003编译)或者vc8.bat(使用vS2005编译)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分