我在Xcode上编写了一个简单的c ++程序,所有程序都包含在名为huffmanGenerator.cpp的ONE FILE中。程序从用户计算机上的文件读取输入,并将输出写入保存到其计算机的文件。
教师要求我们创建一个makefile,以便我们的程序在Linux中使用g ++或gcc编译和运行;然而,她从未向我们展示过如何这样做,当班级寻求帮助时,她的回答是我们可以弄清楚。
我在网上发现了许多链接,但是它们都非常令人困惑,因为这对我来说都是新手,而且大多数都无法回答最基本的问题,比如makefile应该是什么类型的文件?它是.txt吗?我应该只保存一个字吗?
请帮助做教师不会做的事,赐教。谢谢!
答案 0 :(得分:1)
makefile应该是什么类型的文件?
它应该是名为Makefile
或makefile
的纯文本文件。名称重要的原因是因为当您运行make
命令时,它会默认查找具有此名称的文件,以获取有关如何编译代码的说明。只要在运行时指定名称,您也可以将其命名为任意名称(make -f filename )。
是.txt吗?
不,它没有扩展名。扩展在* nix中并不意味着那么多。
我应该只保存一个字吗? (假设您的意思是Microsoft Word。)
不,绝对不是。空格(制表符/空格/换行)在这些文件中有意义,因此您应该使用不会向文件添加格式的编辑器。像pico / vi / etc这样的东西。
这是一个makefile的例子,我认为你会问。
# You can change your compiler to gcc / g++ here.
CC=g++
# Add whatever flags you want to use here.
CFLAGS=-c -Wall
all:
$(CC) $(CFLAGS) huffmanGenerator.cpp -o huffmanGenerator
#Use something like this to run `make clean` which deletes your object files, so you can do a fresh compile.
#clean:
# rm -rf *o huffmanGenerator
作为旁注,你最好不要责怪你的教授没有为你拼出一切。毕业时,您将经常获得除了一系列要求和截止日期之外没有其他指示的任务。你需要搞清楚。您可以通过访问http://mrbook.org/tutorials/make/(搜索谷歌搜索'makefile tutorial')轻松制作此make文件。
答案 1 :(得分:0)
makefile应该被称为Makefile。它只是一个文本文件。
您需要一个文本编辑器。有很多可供选择,vim,emacs,nano,pico,...等等。
打开命令行并运行,比如说
$ pico Makefile
然后您将输入Makefile的内容
all:
g++ -o huffmanGenerator huffmanGenerator.cpp
保存并退出并运行make
$ make