我在solaris 11中安装了protobuffer,现在生成addressbook.pb.h和addressbook.pb.cc文件,我给出了以下命令
protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto
但是没有获得所需的文件我得到了以下错误:
ld.so.1: protoc: fatal: libstdc++.so.6: version 'GLIBCXX_3.4.20' not found (required by file /export/home/shivamv/Downloads/PROTO_BUFF/protobuf-master/src/.libs/libprotobuf.so.15)
ld.so.1: protoc: fatal: libstdc++.so.6: open failed: No such file or directory
我通过以下命令检查了libstdc ++。so.6:
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
所以我得到了这个输出:
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGT
请帮我解决此问题:)
答案 0 :(得分:2)
它可能不是最佳解决方案,但您可以告诉运行时链接程序忽略共享库版本。
export LD_NOVERSION=1
但它对我有用。
答案 1 :(得分:1)
实际上,它很直接。
致命:libstdc ++。so.6:版本' GLIBCXX_3.4.20'找不到
所有消息告诉您,您需要 GLIBCXX ,特别是版本3.4.20(它可能支持以后的版本),但它不是&#39 ; t安装。
libstdc++
只是标准的C ++库,不包含实际的GLIBCXX库。它只知道你需要那个库 - 或者特别是libprotobuf
所做的 - 并且它没有找到它。
现在,我在Linux上工作,并且个人不知道如何在Solaris上安装任何东西。它出现 GLIBCXX是GLIBC的一部分,which apparently needs to be built from source。但是,就像我说的那样,我并不是专门了解Solaris,所以我可能错了。