linux 下编译的可执行程序,运行立即报告错误:
“段错误(吐核)”
[dasixi@localhost main]$ ./main
段错误(吐核)
经检查是 makefile 错误,这里编译可执行程序时,多了 -shared 选项,带有该选项将编译出二进制动态库文件,而非可执行程序。
TARGET = main
OBJECTS = $(patsubst %.cpp, %.o, $(wildcard *.cpp))
CPPFLAGS+= -g -shared -Wall -fPIC -finline-functions -fexceptions -std=c++11 -I ../../main -I ./
LDFLAGS+= -ldl -lrt -L/usr/local/lib -pthread
all: ${OBJECTS}
echo ${OBJECTS}
g++ ${OBJECTS} -o ${TARGET} $(CPPFLAGS) $(LDFLAGS)
.PHONY: clean
clean:
rm -f ${OBJECTS} ${TARGET}