0

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

我安装了Windows SDK 7.1,并从它的 commond 提示符移动到 makefile 和源所在的目录,nmake -f Makefile并得到了我安装了 Visual Studio Express 2010 的响应Makefile(13) : fatal error U1001: syntax error : illegal character '^' in macro Stop.,并从它的命令提示符尝试了相同的操作。这些函数广为人知,并已从此处使用 - 链接到托管 c++ 文件的页面。所以我怀疑函数本身是否存在错误。

如何运行 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

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

4

2 回答 2

1

我不知道从MATLAB. 但是,如果您想make在 Windows 环境中使用VC编译器进行构建,这里是步骤。

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

注意:您应该已经安装了 VC 编译器。可能会帮助你发现

于 2013-04-10T10:08:20.953 回答
1

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

Mingw建立链接

于 2013-04-10T10:21:06.067 回答