如何从命令行编译和运行项目(Windows 7)?

时间:2011-12-07 07:48:34

标签: c++ windows linux command-line makefile

我有一个包含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,所以我无法运行该项目。

你能帮助我吗?

3 个答案:

答案 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编译器),您可以:

  1. 启动Visual Studio控制台
  2. 启动cmd.exe提示符,然后运行"c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"(或相应的vcvars32.bat
  3. 完成此操作后,使用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/