我有一个包含 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,所以我无法运行该项目。
你能帮帮我吗?
最佳答案
如果您的项目配置为使用 gcc/g++(如您的示例所示),那么您应该安装 mingw .之后启动 mingw shell,转到目录并键入 make
(前提是你在安装mingw的时候安装了make)或者make -f <makefile name>
.
注意: c:\mydir1\mydir2
的窗口路径在 mingw /c/mydir1/mydir2
.因此,您应该通过键入 cd /c/mydir1/mydir2
来访问您的目录。 .
如果您的项目配置为使用 Visual Studio(cl.exe 编译器),您可以:
- 启动 Visual Studio 控制台
- 启动 cmd.exe 提示符,然后运行
"c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
(或您对应的vcvars32.bat
)
完成此操作后,您可以使用 cd c:\mydir1\mydir2
转到您的目录然后输入 nmake
(来自 visual studio 包的 make 等效项)或 nmake /f <your makefile name>
.
如果您需要其他工具链进行编译,那么您应该遵循特定的步骤。我记得要使用 Borland 编译器,您只需要将路径设置为 bcc32
可执行文件。
后期编辑:
如果项目使用 unix 特定程序,您应该使用 cygwin (如评论中所述)。
关于c++ - 如何从命令行 (Windows 7) 编译和运行项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8411972/