为Windows 64编译C代码
我已经多年没有接触过C了,但需要为Windows764编译一些C源代码。源代码附带一个makefile。有人能推荐一个带make的C编译器吗 附言: 生成文件:为Windows 64编译C代码,c,makefile,C,Makefile,我已经多年没有接触过C了,但需要为Windows764编译一些C源代码。源代码附带一个makefile。有人能推荐一个带make的C编译器吗 附言: 生成文件: POSTFIX="_amd64" CC = CC="cc -Wall" RANLIB=RANLIB="ranlib" INSTALLDIR=/usr/local/bin LIBINSTALLDIR=/usr/local/lib VERSION=4.12 DATE=10/10/10 PROGRAMS=bib2xml ris2xml e
POSTFIX="_amd64"
CC = CC="cc -Wall"
RANLIB=RANLIB="ranlib"
INSTALLDIR=/usr/local/bin
LIBINSTALLDIR=/usr/local/lib
VERSION=4.12
DATE=10/10/10
PROGRAMS=bib2xml ris2xml end2xml endx2xml med2xml isi2xml copac2xml \
biblatex2xml ebi2xml wordbib2xml \
xml2ads xml2bib xml2end xml2isi xml2ris xml2wordbib modsclean
all : FORCE
cd lib; make -k $(CC) -k $(RANLIB); cd ..
cd bin; make -k $(CC) -k VERSION="$(VERSION)" -k DATE="$(DATE)"; cd ..
clean: FORCE
cd lib ; make clean ; cd ..
cd bin ; make clean ; cd ..
cd test ; make clean ; cd ..
realclean: FORCE
cd lib ; make realclean ; cd ..
cd bin ; make realclean ; cd ..
cd test ; make realclean ; cd ..
rm -rf update lib/bibutils.pc
test: all FORCE
cd lib ; make test; cd ..
cd bin ; make test; cd ..
install: all FORCE
cd lib ; make -k LIBINSTALLDIR=$(LIBINSTALLDIR) install; cd ..
sed 's/VERSION/${VERSION}/g' packageconfig_start > lib/bibutils.pc
@for p in ${PROGRAMS}; \
do ( cp bin/$$p ${INSTALLDIR}/$$p ); \
done
package: all FORCE
csh -f maketgz.csh ${VERSION} ${POSTFIX}
deb: all FORCE
csh -f makedeb.csh ${VERSION} ${POSTFIX}
FORCE:
您可以使用visualc并查看nmake
请参阅:您可以尝试使用类似于GCC的makefiles。请看一看内置的Mingw环境,它可以很好地处理makefiles。因为这里的每个人都不知道您清晰的64位语句,我将给出一个正确的答案:
cd
到项目目录,然后运行Nmake
。您需要修改makefile以调用cl和linkcd
到项目目录,然后运行mingw32 make
/mingw64/bin
添加到路径
,或从“MSYS2 MinGW-w64 64位”快捷方式启动以使用它。注意:您只能将MSYS2用作包管理工具:安装所需的任何依赖项(有大量第三方库二进制文件可供使用),只需将/mingw64/bin
目录添加到路径
,并从任何位置调用编译器即可fork()
或其他Unix系统调用),则可以使用64位,安装其编译器,并与Cygwin dll链接。这是不推荐的,因为存在性能(相对于将代码移植到Win32 API而言)和许可惩罚(Cygwin DLL是GPL,它强制您的程序以GPL兼容的方式获得许可)我知道这比你要求的要多,但我的高评分答案需要完整,对吗?我喜欢。您可以在任何编译器中使用它的
make
。谢谢。我已经添加了make文件(参见PS)。鉴于此,你的哪一点适用?谢谢我想试试MSYS的(3号)。有sed
和csh
。第一个在我链接的MSYS包中,第二个我不知道,请查看并尝试。谢谢。我设置了路径,但得到:“make[1]:cc:Command-notfound”。mingw确实附带gcc,我必须编辑一些东西。一些linux站点写道,只有在没有gcc的情况下才使用cc。。。有什么想法吗?谢谢。您需要编辑您的makefile,以便CC=“gcc-Wall”
,并希望它能正常工作。您可能必须将csh
重命名为sh
或bash
,但我不知道这是否必要,或者即使您将其替换,也不会起作用。@rubenvb回答得很好。请您澄清一下:“安装,打开MinGW-w64命令提示符,将cd刻录到您的项目目录,然后运行mingw32-make。”这是否会生成64位可执行文件?如果没有,是否有mingw64品牌
或类似品牌?