我有一个包含makefile的项目:
# a simple makefile
# Uncomment, if compression support is desired
#DCOMP=-DWITH_COMPRESSION
#ZLIB=-lz
#Compiler
CC=g++
# compiler switches
#CPPFLAGS=-g -I.
CPPFLAGS=-O -I.
CFLAGS=-O -I. $(DCOMP)
#LDFLAGS=-L/usr/local/lib
#libraries
LIBS= -lm $(ZLIB)
# Compilation rules
# target:source
%.o:%.c
$(CC) $(CFLAGS) -o $@ -c $<
%.o:%.cpp
$(CC) $(CPPFLAGS) -o $@ -c $<
# $@-target, $<-source
DNAME=f3dProjBasicNoComp12
PROGRAM=project
PROJ_OBJECTS= project.o f3d.o f3dGridLite.o
#the first (default)
all:$(PROGRAM)
project:$(PROJ_OBJECTS)
$(CC) $(LDFLAGS) -o $@ $(PROJ_OBJECTS) $(LIBS)
clean:
rm -f $(PROGRAM) *.o core* *.ppm
pack:
make clean
(cd .. && tar cvzf $(DNAME).tgz $(DNAME))
我想在Windows上运行它。教授说我应该编译并运行,但他没有告诉我如何在Windows上执行此操作。我已经读过我应该使用nmake MakeFile,而不是:
'nmake' is not recognized as an internal or external command,
operable program or batch file.
要运行应用程序,我应该使用像project -x somethink.obj
这样的思考。
但是因为我无法编译makefile,所以我无法运行该项目。
你能帮助我吗?
答案 0 :(得分:3)
如果您的项目配置为使用gcc / g ++(如您的示例所示),那么您应该安装mingw。之后启动mingw shell,转到目录并键入make
(假设您在安装mingw时安装了make)或make -f <makefile name>
。
注意: c:\mydir1\mydir2
的Windows路径位于mingw /c/mydir1/mydir2
。因此,您应该输入cd /c/mydir1/mydir2
。
如果您的项目配置为使用Visual Studio(cl.exe编译器),您可以:
"c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
(或相应的vcvars32.bat
)完成此操作后,使用cd c:\mydir1\mydir2
转到您的目录,然后输入nmake
(与visual studio包相同的制作)或nmake /f <your makefile name>
。
如果您需要其他工具链进行编译,则应遵循特定步骤。我记得使用Borland编译器只需要设置bcc32
可执行文件的路径。
稍后编辑:
如果项目使用unix特定程序,您应该使用cygwin(如评论中所述)。
答案 1 :(得分:2)
1)您必须安装Visual Studio
2)您必须运行Visual Studio命令提示符(安装完成后,您将在Microsoft Visual Studio“开始”菜单项中找到它)并从那里调用nmake
。
答案 2 :(得分:1)
最简单的解决方案是使用gcc下载mingw for windows。看一眼: http://www.mingw.org/