我正在使用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
但是这些文件都列在目录中,所以我不知道为什么会出现错误。