0

我在 Xcode 上编写了一个简单的 c++ 程序,所有程序都包含在一个名为 huffmanGenerator.cpp 的文件中。该程序从用户计算机上的文件中读取输入,并将输出写入保存到他们计算机上的文件。

讲师要求我们创建一个 makefile,以便我们的程序在 Linux 中使用 g++ 或 gcc 编译和运行;但是她从来没有向我们展示过如何做到这一点,当全班寻求帮助时,她的回答是我们可以解决。

我在网上找到了许多链接,但它们都非常令人困惑,因为这对我来说是全新的,而且其中大多数甚至无法回答最基本的问题,例如 makefile 应该是哪种文件?是.txt吗?我应该只用word保存一个吗?

请帮助做教练不会做的事情,请赐教。谢谢!

4

2 回答 2

1

makefile 应该是什么类型的文件?

它应该是一个名为Makefileor的纯文本文件makefile。名称很重要的原因是,当您运行该make命令时,它会在默认情况下查找具有此名称的文件,以获取有关如何编译代码的说明。只要在运行时指定名称,您也可以随意命名(make -f filename)。

是.txt吗?

不,它没有扩展名。扩展在 *nix 中没有多大意义。

我应该只用word保存一个吗?(假设您指的是 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/轻松制作此 make 文件(在 google 中搜索“makefile 教程”)。

于 2013-07-15T14:53:55.480 回答
0

makefile 应该被称为 Makefile。它只是一个文本文件。

你需要一个文本编辑器。有很多可供选择,vim、emacs、nano、pico、...等。

打开命令行并运行,比如说

$ pico Makefile

然后你将输入 Makefile 的内容

all:
    g++ -o huffmanGenerator huffmanGenerator.cpp

保存并退出并运行 make

$ make
于 2013-07-15T14:20:22.210 回答