我正在使用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