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