我多年没碰过C了,但需要为Windows 7 64编译一些C源代码。源代码附带一个makefile。有人可以推荐一个带有make的C编译器吗?
PS:
make文件:
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:
答案 0 :(得分:13)
由于这里的每个人都没有注意到你明确的64位陈述,我会给出正确答案:
如果makefile是Nmake makefile,则可以安装Visual Studio Express for Windows Desktop,从开始菜单中选择一个命令提示符(选择一个目标64位Windows),cd
到你的项目的目录,然后运行nmake
。您需要修改makefile以调用cl和link。
如果Makefile是MinGW makefile,则需要mingw-w64's toolchains targetting Win64(注意还提供了32位工具链)。我推荐official builds provided through an installer或可从MSYS2安装的那些(参见第3点)。安装,打开MinGW-w64命令提示符cd
到项目目录,然后运行mingw32-make
。
如果Makefile是Unix / MSYS makefile,我建议使用MSYS2。您可以使用上述工具链,或执行pacman -S mingw-w64-x86_64-gcc
从MSYS2 shell安装工具链。请务必将/mingw64/bin
添加到PATH
或从“MSYS2 MinGW-w64 64位”快捷方式启动以使用它。请注意,您只能使用MSYS2作为包管理工具:安装您想要的任何依赖项(有大量第三方库二进制文件可供使用),只需将<MSYS2 root>/mingw64/bin
目录添加到PATH
并调用编译器来自任何地方。
如果项目使用Unix功能(如fork()
或其他Unix系统调用),则可以使用64位Cygwin,安装其编译器,并与Cygwin dll链接。这是不推荐的,因为有一个性能(好吧,相对于将代码移植到Win32 API)和许可证惩罚(Cygwin DLL是GPL,它会强制您的程序以GPL兼容的方式获得许可)。
这些是使用免费工具为64位Windows编译C源文件的四种方法。如果您是学生,您也可以使用以下方式:
从Dreamspark下载Visual Studio Professional(如果您的大学/学院/学校与Microsoft就此达成协议)并使用它。几乎与第1点相当,除非您使用MFC / ATL和/或VS插件之类的东西,这些东西在快递版本中不起作用。
从Education offerings website下载英特尔编译器。但是从第5点开始需要Visual Studio Professional。您需要修改Makefile以使用英特尔编译器。
从here(Windows快照版本)下载LLVM / Clang编译器,并将其与第5点结合使用。您需要修改makefile以调用clang。
< / LI> 醇>我知道这不仅仅是你要求的,但我的高评价答案需要完整,对吗?
答案 1 :(得分:1)
您可以使用Visual C并查看nmake
答案 2 :(得分:1)
您可以尝试MinGW使makefile与GCC类似。
答案 3 :(得分:1)
答案 4 :(得分:1)
Code::Blocks内置了Mingw环境,可以处理makefile。