0

我最近从头开始构建 libc++,因为我的项目需要一些 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 标志对程序进行调试构建并且它编译并运行良好,但所有后来的程序都抱怨这个符号查找失败。请帮忙。

4

1 回答 1

0

看来您需要支持库“libc++abi”。它提供了低级异常支持、type_info 支持等。

对于 Ubuntu(而不是 Xubuntu),您似乎可以在这里获得它:http ://www.ubuntuupdates.org/package/core/saucy/universe/base/libc++abi-dev

于 2013-11-16T01:54:02.373 回答