我正在使用makefile爲boost cpp應用程序構建我的代碼。當生成文件得到執行也顯示了以下消息在Windows控制檯中不執行文件命令
g++ -c -Wall -I/c/MinGW/include/ -lboost_system -lws2_32 Timer_async.cpp -o Timer_async.o
,並拋出以下錯誤
#include <boost/asio.hpp>
^
compilation terminated.
mingw32-make: *** [makefile:15: Timer_async.o] Error 1
,但如果我運行這個makefile文件從shell提示符下生成的命令
g++ -c -Wall -I/c/MinGW/include/ -lboost_system -lws2_32 Timer_async.cpp -o Timer_async.o
程序正確構建。
我make文件是
CC=g++
CFLAGS=-c -Wall
LDFLAGS=-lboost_system -lws2_32
INCLUDES=-I/c/MinGW/include/
SOURCES=Timer_async.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello
all: $(SOURCES) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(SOURCES) $(INCLUDES) $(LDFLAGS) -o [email protected]
.cpp.o:
$(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) $< -o [email protected]
我用這個標準Makefile形式http://mrbook.org/blog/tutorials/make/並添加我的支持INCLUDE宏。 – prasad
錯誤是從shell執行同一行,並從make執行它。所以我不認爲這是由於我旗。 – prasad