【发布时间】:2016-02-02 02:03:40
【问题描述】:
我不经常使用makefile,因此我只会制作基本的。我试过阅读如何解决我的问题,但我迷路了。我需要的是一个有两个目标的makefile和测试。这两个目标都需要使用 g++ -std=c+11 -Wall -Werror -ansi -pedantic 编译程序,并且当编译器构建可执行文件时,唯一需要编译的文件是 main.cpp 它需要放置可执行文件位于名为 bin 的新目录中。而且我假设如果我要再次使用makefile,它需要检查是否已经创建了bin。 我知道如何创建一个简单的makefile,例如 全部: g++ -std=c++11 -Wall -Werror -ansi -pedantic main.cpp
这会在当前目录中创建一个名为 a.out 的可执行文件,但就我对 makefileS 的了解而言,这差不多
【问题讨论】:
-
获取“a.out”以外的名称,需要编译器选项
-o foo,独立于make文件。你也可以写-o ./bin/foo,顺便说一句。 -
如果你觉得你将来会做很多这样的事情,你可能要考虑在你想学习的构建系统上做出战略选择(首先)。 CMAKE 是一个很好的候选者。
-
好的,我不确定这有多正确,但它基本上做到了我想要的,所以我创建了
-
对不起,我的最后一条评论切断了我的手机故障,哈哈,我不知道这有多正确,但我创建了一个包含所有内容的 makefile:main.cpp。 mkdir bin g++ 标志 -o .bin/foo.out main.cpp。它在一个名为 bin 的新文件夹中创建了一个可执行文件现在我在我的指示中有另一个问题它说我需要创建另一个名为 test 的目标,它执行完全相同的事情,所以我的猜测是我只是复制“所有”目标并粘贴它在用“测试”替换“全部”? PS 抱歉格式不好,在我的手机上输入这个很糟糕。
标签: c++ compilation makefile g++