如何在不使用cygwin的情况下在Windows (Vista)中运行c++文件的makefile

How to run makefile for C++ files in Windows (Vista) without the use of cygwin?

本文关键字:Vista c++ makefile 文件 运行 情况下 cygwin Windows      更新时间:2023-10-16

我正在使用Windows Vista,并下载了一个文件夹的文件在 c++ Makefile。我想运行makefile来编译Windows下的头文件源文件。最后,我希望能够从MATLAB的命令提示符调用这个c++函数,所以我认为,如果我使用cygwin,这将是不可能的,因为它只允许编译从cygwin内运行。

我安装了Windows SDK 7.1,并从其命令提示符移动到makefile和源代码所在的目录和nmake -f Makefile,并得到响应Makefile(13) : fatal error U1001: syntax error : illegal character '^' in macro Stop.我安装了visual studio express 2010,并从其命令提示符尝试相同。这些函数是众所周知的,并且已经从这里使用-链接到托管c++文件的页面。所以我怀疑函数本身有错误。

我如何运行makefile来编译这些文件并随后运行它们?

编辑:这是makefile:
#!/bin/bash
CC=g++
CFLAGS= -ansi -O5 -Wall
LDFLAGS= -ansi -lm -Wall
EXEC=community convert hierarchy
OBJ1= graph_binary.o community.o
OBJ2= graph.o
all: $(EXEC)
community : $(OBJ1) main_community.o
$(CC) -o $@ $^ $(LDFLAGS)
convert : $(OBJ2) main_convert.o
$(CC) -o $@ $^ $(LDFLAGS)
hierarchy : main_hierarchy.o
$(CC) -o $@ $^ $(LDFLAGS)
##########################################
# Generic rules
##########################################
%.o: %.cpp %.h
$(CC) -o $@ -c $< $(CFLAGS)
%.o: %.cpp
$(CC) -o $@ -c $< $(CFLAGS)
clean:
rm -f *.o *~ $(EXEC)

EDIT2:我从gnu安装了make,输出如下:这是dir

09/04/2013  17:13    <DIR>          .
09/04/2013  17:13    <DIR>          ..
24/09/2008  13:45             7,742 community.cpp
10/07/2008  13:41             4,386 community.h
10/07/2008  13:41             3,919 graph.cpp
10/07/2008  13:41             1,329 graph.h
10/07/2008  13:41             5,957 graph_binary.cpp
10/07/2008  13:41             3,434 graph_binary.h
23/07/2008  17:08             4,071 main_community.cpp 
10/07/2008  13:41             2,110 main_convert.cpp
10/07/2008  13:41             3,449 main_hierarchy.cpp
10/07/2008  13:43               565 Makefile
23/07/2008  17:13             2,959 readme.txt
09/04/2013  17:13    <DIR>          sample_networks
              11 File(s)         39,921 bytes
               3 Dir(s)  25,152,544,768 bytes free

和运行make -f Makefile gives:

g+++ -o graph_binary.o -c graph_binary.cpp -ansi -05 -Wall
process_begin: CreateProcess(NULL, g++ -o graph_binary.o -c graph_binary.cpp -ansi -05 -Wall, ...) failed. 
make (e=2): The system cannot find the file specified.
make: *** [graph_binary.o] Error 2

但是这些文件都列在目录中,所以我不知道为什么会出现错误。

我不知道MATLAB的c++函数调用。但是如果你想用VC编译器在windows环境下使用make编译,这里是步骤。

  1. 安装make:进入http://gnuwin32.sourceforge.net/packages/make.htm下载Complete package, except sources,并按照同一页面的说明安装。
  2. 设置bin (C:Program Files (x86)GnuWin32bin;)目录路径为windows环境变量PATH
  3. 重新启动计算机,打开命令提示符,输入make并按enter。如果一切正常,那么应该显示make: *** No targets specified and no makefile found. Stop.
  4. 如果一切正常,使用cd命令创建文件位置并执行make -f yourFileName命令

注意:你应该已经安装了VC编译器。这可以帮助您找到

您可以使用MinGW (gcc的Windows端口)

构建它

Mingw建立链接