2015-03-02 129 views
-1

当Makefile的编译,我得到了错误/tmp/ccQ0q0g5.o:(.eh_frame+0x11):未定义的引用`__gxx_personality_v0' collect2:LD返回1个退出状态

/tmp/ccQ0q0g5.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' 
collect2: ld returned 1 exit status 

看来,一些.so.a文件丢失,但是我怎么知道这样的错误报告中缺少哪一个?

的Makefile:

CFLAGS = -Iinclude/ 
CFLAGS += -m32 
LDFLAGS = -Llib -llits -lrt -lpthread -Wl,-R,'lib' 
server:server.cc 
    gcc -o server $(CFLAGS) $(LDFLAGS) server.cc 
+0

您的问题是否已经在重复项中得到解答?在下次提问的时候再做更好的研究! – 2015-03-03 11:37:28

+0

@πάνταῥεῖ如果你在谷歌中粘贴'ccQ0q0g5.o',我不知道ccQ0q0g5.o是否与C++运行库相关。 – user4016367 2015-03-03 11:50:37

+0

重复的答案很容易找到,只是搜索问题标题的重要部分:[“未定义的引用__gxx_personality_v0”](https://www.google.de/webhp?sourceid=chrome-instant&ion=1&espv= 2&ie = UTF-8#q =%22undefined%20reference%20to%20%60__gxx_personality_v0%27%22)那又如何?在参加SO之前,您可能想要改进您的Google Fu。 – 2015-03-03 12:04:38

回答

3

你正在编译C++,但你不能链接到C++运行时库。

使用g++链接C++程序,而不是gcc

(或手动将-lstdc++添加到链接器命令)。

相关问题