Libc ++链接程序失败,符号查找错误

时间:2013-11-07 04:49:08

标签: c++ shared-libraries clang libc++

我最近从头开始构建libc ++,因为我的prject需要一些尚未在libstdc ++中实现的功能。

我尝试用行

编译位于src / main.cpp中的hello world程序
clang -Wall -stdlib=libc++ -std=c++11 -c src/main.cpp -obuild/main.o

并且构建成功

然后我将其链接到

clang -lc++ build/main.o -o qasix

并且链接也成功。 但是当我用

运行程序时
./qasix

我收到以下错误:

./qasix: symbol lookup error: /usr/local/lib/libc++.so.1: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE

我想知道为什么会这样,以及如何修复它。

如果有任何帮助,我正在使用Xubuntu 13.10。

PS:昨天出现了这个问题。之前的其他libc ++程序可以正常编译。 这开始于我使用-g标志进行程序的调试构建并且编译并运行正常,但所有后来的程序都抱怨此符号查找失败。请帮忙。

1 个答案:

答案 0 :(得分:0)

您似乎需要支持库“libc ++ abi”。它提供了诸如低级异常支持,type_info支持等等。

对于Ubuntu(与Xubuntu相对),您可以在此处获取它:http://www.ubuntuupdates.org/package/core/saucy/universe/base/libc++abi-dev