现在的位置: 首页 > 综合 > 正文

写Makefile(一)

2013年08月08日 ⁄ 综合 ⁄ 共 891字 ⁄ 字号 评论关闭
  1.  概述
    要在unix/linux上开发应用程序,会写Makefile是必须要掌握的技能。就像你用vc写开发程序,如果你不会用vc这个工具,就没法开发。
    其实Makefile也是利用一些c/c++编译器命令的组合,Makefile只把这些命令组合起来,提供一个这些命令的规则、执行顺序。
  2.  示例
    我现在有一个c程序main.cpp,代码如下:

    这是一个最基本的c程序hello world,在unix/linux下该怎么编译,得到想要的可执行程序呢。
    我使用的开发环境是hp-unix,编译器是aCC,g++,gcc,c98,c89都一样,大同小异。
    现在我首先使用aCC命令编译得到可执行程序。
    执行命令aCC make.cpp
    成功之后,在当前目录生成一个默认的可执行程序a.out,执行程序./a.out,在屏幕上输出"hello world!".
    但是一般我们开发程序需要得到指定名字的程序,可以使用如下命令。
    aCC -c make.cpp
    执行之后,在当前目录得到一个main.o,这个是由cpp编译得到的目标文件,不能执行,要得到可执行程序,执行如下命令:aCC -o main main.o
    在当前目录得到一个main可执行文件,执行main在屏幕上输出"hello world!",为了开发上的方便性,编写一个Makefile,一步完成编译工作,不需要分步执行命令完成,Makefile内容如下:

    这时,你只需要直接执行make就可以得到想要的main可执行程序了。如果编译器换了,可以直接把第一行的CC=aCC换掉就可以了,如果是gcc编译器,CC=aCC,如果是g++,CC=g++等。

抱歉!评论已关闭.