2012-08-02 133 views
29

我是这方面的新手,只是想问如何使用C语言编写一个makefile.am使用MinGW编译器。我必须将所有文件保存在MinGW \ bin中吗?因为现在我的文件位于不同的目录中。如何使用MinGW编译makefile?

欣赏帮助。

+0

当然不是,你不应该把_anything_放在mingw \ bin中。你确切的问题是什么? (即解释什么是你的失败。) – Mat 2012-08-02 07:10:14

+1

如果你有一个Makefile.am,那么我建议你阅读更多关于[automake](http://www.gnu.org/software/automake/)和[autoconf]( http://www.gnu.org/software/autoconf/)。 – 2012-08-02 07:12:24

+0

好吧,我有一个C项目,我的主管让我编译。该项目包含makefile.in和makefile.in。我有0关于的知识。经过研究,我已经设法安装MinGW编译器。我还更改了变量环境和命令提示符中指向文件位置的目录。现在,谁能告诉我如何编译这个项目?真的很感谢。 – AAA 2012-08-02 08:15:33

回答

0

请了解automake和autoconf。

Makefile.am是由automake处理,以产生由制作为了建立你的源代码处理一个Makefile。

http://www.gnu.org/software/automake/

+0

这意味着我只能使用automake编译文件? – AAA 2012-08-03 01:14:21

20

摘自http://www.mingw.org/wiki/FAQ

什么是品牌和之间的区别的mingw32-做什么呢?

的“原生”(即:MSVCRT依赖)制作的端口是缺乏一些功能,并已修改的功能,由于Win32上缺乏POSIX的。在MSYS发行版中还存在一个取决于MSYS运行时的make版本。这个端口的运行更多,因为make有意操作,并且在执行过程中减少了麻烦。基于此,MinGW开发人员/维护人员/包装人员决定最好重命名本地版本,以便“原生”版本和MSYS版本可以同时存在,而不会发生文件名冲突。

所以,寻找到C:\ MinGW的\ bin目录,首先要知道是什么做的可执行文件,已安装(或的make.exe的mingw32-的make.exe)

使用的MinGW之前,您应该添加℃。 :\ MinGW的\ BIN;使用中提到的说明PATH环境变量在http://www.mingw.org/wiki/Getting_Started/

然后cd到你的目录,其中你有makefile文件,并使用mingw32-make.exe makefile.in或者干脆make.exe makefile.in尝试(取决于用C可执行文件:\ MinGW的\ BIN)。

如果你想要一个基于GUI的解决方案,安装DEVCPP IDE,然后再化妆。

+2

刚刚安装了mingw,我没有在bin文件夹中。 – ecoe 2015-02-10 22:22:34

6

你必须积极地选择安装MSYS得到的make.exe。因此,如果MinGW安装正确,至少应该有(本机)mingw32-make.exe。如果你安装了MSYS,你将会有make.exe(可能在MSYS子文件夹中)。

注意,许多项目需要首先创建一个makefile文件(例如,使用配置脚本或automake的.AM文件),它是这一步,需要MSYS或Cygwin的。让你想知道他们为什么要麻烦分发本地制作。

一旦你的makefile文件,目前还不清楚,如果本机可执行文件要求不同的路径分隔符比MSYS使(正斜杠VS反斜杠)。任何自动生成的makefile都可能具有unix风格的路径,假设本地make可以处理这些路径,编译后的输出应该是相同的。