加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

使用MinGW在Windows上编译小型Gcc项目

发布时间:2020-12-14 02:13:52 所属栏目:Windows 来源:网络整理
导读:所以我已经用C编程了将近2年了,而整个过程中我都有幸使用IDE(VS)和可爱的项目设置以及自动链接等.我总是远离任何需要我通过makefile编译的外部库,或者至少是那些用于 linux环境/其他编译器的库. 无论如何我现在想要使用一个超级方便的实用程序(Bob Jenkins P
所以我已经用C编程了将近2年了,而整个过程中我都有幸使用IDE(VS)和可爱的项目设置以及自动链接等.我总是远离任何需要我通过makefile编译的外部库,或者至少是那些用于 linux环境/其他编译器的库.

无论如何我现在想要使用一个超级方便的实用程序(Bob Jenkins Perfect Minimal Hash)但它需要我通过makefile编译,不仅如此,而是使用g编译器.

我继续前进并获得了mingW32-make实用程序,现在正试图让它工作.我现在在哪里:

>成功安装了minGW
>成功地称为make实用程序
>未能成功完成项目.

我得到的错误是:

C:gen_progsph>mingw32-make

mingw32-make: *** No rule to make
target lookupa.c',needed by
lookupa.o’. Stop.

和makefile本身:

CFLAGS = -O

.cc.o:
    gcc $(CFLAGS) -c $<

O = lookupa.o recycle.o perfhex.o perfect.o

const64 : $(O)
    gcc -o perfect $(O) -lm

# DEPENDENCIES

lookupa.o : lookupa.c standard.h lookupa.h

recycle.o : recycle.c standard.h recycle.h

perfhex.o : perfhex.c standard.h lookupa.h recycle.h perfect.h

perfect.o : perfect.c standard.h lookupa.h recycle.h perfect.h

现在错误似乎是合理的,至少从我对makefile的最小理解,我有所有引用的.c,.h文件,但是我没有.o文件,似乎没有关于如何制作的任何说明这些.所以我的问题是:

我调用make实用程序错了吗?或者我是否需要先编译目标文件?或者……我需要在make文件中添加一些内容吗?

我再次提到所有引用的.c和.h文件.

编辑:对不起,我实际上错过了那个特定的文件似乎已经消失了.但是,将其添加回来就是我现在得到的错误:

c:gen_progsph>mingw32-make 
cc -O   -c -o lookupa.o lookupa.c 
process_begin: CreateProcess(NULL,cc -O -c -o lookupa.o lookupa.c,...) failed.

make (e=2): The system cannot find the file specified. 
mingw32-make: *** [lookupa.o] Error 2

解决方法

关于你的错误“process_begin:CreateProcess(NULL,…)失败.”

这是因为make实用程序想要使用“cc”编译器来编译程序,但该编译器不是Mingw-package的一部分.

解决方案:将“.cc.o:”更改为“.c.o:”.这改变了隐式规则,该规则在编译.c文件时告诉使用什么编译器(下一行是gcc)(原始行告诉它如何编译.cc文件).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读