使用Makefile编译时,出现错误
/tmp/ccQ0q0g5.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
似乎缺少某些.so
或.a
个文件,但我怎么知道这样的错误报告中缺少哪个?
生成文件:
CFLAGS = -Iinclude/
CFLAGS += -m32
LDFLAGS = -Llib -llits -lrt -lpthread -Wl,-R,'lib'
server:server.cc
gcc -o server $(CFLAGS) $(LDFLAGS) server.cc
答案 0 :(得分:7)
您正在编译C ++,但您没有链接到C ++运行时库。
使用g++
链接C ++程序,而不是gcc
。
(或者手动将-lstdc++
添加到链接器命令中。)