我已经多年没碰过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:
Run Code Online (Sandbox Code Playgroud)
rub*_*nvb 13
由于这里的每个人都不知道你明确的64位声明,我会给出正确的答案:
如果makefile是Nmake makefile,则可以安装Visual Studio Express for Windows Desktop,从开始菜单(选择一个目标64位Windows)打开命令提示符cd到项目目录,然后运行nmake.您需要修改makefile以调用cl和link.
如果Makefile是MinGW makefile,你需要mingw-w64的工具链来定位Win64(注意还提供了32位工具链).我推荐通过安装程序提供的官方版本或可从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插件这样的东西,这些东西在快递版本中不起作用.
从他们的教育产品网站下载英特尔编译器.但是从第5点开始需要Visual Studio Professional.您需要修改Makefile以使用Intel编译器.
从此处下载LLVM/Clang编译器(Windows快照构建版)并将其与第5点结合使用.您需要修改makefile以调用clang.
我知道这不仅仅是你要求的,但我的高评价答案需要完整,对吗?
| 归档时间: |
|
| 查看次数: |
10022 次 |
| 最近记录: |