【问题标题】:How can I compile and run project from command line(Windows 7)?如何从命令行(Windows 7)编译和运行项目?
【发布时间】:2011-12-07 07:48:33
【问题描述】:

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

你能帮帮我吗?

【问题讨论】:

  • 您是否安装了编译器(尤其是 Visual Studio)?
  • 查看CygwinMinGW。他们可以“模拟”Windows 中的 UNIX 环境。

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


【解决方案1】:

如果您的项目配置为使用 gcc/g++(如您的示例所示),那么您应该安装 mingw。之后启动mingw shell,进入你的目录并输入make(前提是你在安装mingw时安装了make)或make -f &lt;makefile name&gt;

注意: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

完成此操作后,您将使用 cd c:\mydir1\mydir2 转到您的目录并输入 nmake(与 Visual Studio 包中的 make 等效项)或 nmake /f &lt;your makefile name&gt;

如果您需要其他工具链来编译,那么您应该遵循特定的步骤。我记得使用 Borland 编译器只需要设置bcc32 可执行文件的路径。

稍后编辑:

如果项目使用 unix 特定程序,您应该使用cygwin(如 cmets 中所述)。

【讨论】:

    【解决方案2】:

    1) 你必须安装 Visual Studio

    2) 您必须运行 Visual Studio 命令提示符(安装后您会在 Microsoft Visual Studio 开始菜单条目中找到它)并从那里调用 nmake

    【讨论】:

      【解决方案3】:

      最简单的解决方案是使用 gcc 下载适用于 windows 的 minigw。看一眼: http://www.mingw.org/

      【讨论】:

      • 我认为没有理由使用 MinGW,除非绝对必要。
      • 好吧,makefile 似乎是 gnu 特定的,例如 CC=g++ 。如果他不想编辑他在整个课程中获得的 makefile,那么安装 cygwin、minigw 或 msys 是最简单的解决方案。也许不是最优雅的,但需要最少的努力。
      • @VioletGiraffe,因为你没有 Visual Studio?
      • @Pacerier:VS Express。不错,试试看。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 2015-10-07
      • 2010-10-04
      • 2013-11-29
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多