C++ Hadoop管道链接器错误

C++ Hadoop管道链接器错误,c++,hadoop,pipe,C++,Hadoop,Pipe,当我让word_计数时,错误如下,怎么了 g++-m64-I/home/platform/hadoop/include wordcount.cpp-Wall-L/home/platform/hadoop/lib/native-lhadooppipes-lhadooputils-lpthread-lcrypto-lssl-g-O2-o wordcount /home/vipshop/platform/hadoop/lib/native/libhadooppipes.a(HadoopPipes.cc

当我让word_计数时,错误如下,怎么了

g++-m64-I/home/platform/hadoop/include wordcount.cpp-Wall-L/home/platform/hadoop/lib/native-lhadooppipes-lhadooputils-lpthread-lcrypto-lssl-g-O2-o wordcount /home/vipshop/platform/hadoop/lib/native/libhadooppipes.a(HadoopPipes.cc.o):在函数
HadoopPipes::BinaryProtocol::getPassword(std::basic_string&)中:
(.text.\u ZN11HadoopPipes14BinaryProtocol11getPasswordERSs[HadoopPipes::BinaryProtocol::getPassword(std::basic_string&])]+0x258):未定义对
std::basic_ostream>&std:\uOstream_insert>(std::basic_ostream>&,char const*,long)的引用 /home/vipshop/platform/hadoop/lib/native/libhadooppipes.a(HadoopPipes.cc.o):在函数
HadoopPipes::BinaryProtocol::getPassword(std::basic_string&)中:
(.text.\u ZN11HadoopPipes14BinaryProtocol11getPasswordERSs[HadoopPipes::BinaryProtocol::getPassword(std::basic_string&])]+0x2a4:未定义对
std::ctype::\u M_加宽_init()常量的引用 collect2:ld返回了1个退出状态
make:**[wordcount]错误1

您使用的g++版本与hadoop库编译时使用的版本不同。您使用的是什么版本的g++和Hadoop?gcc版本4.1.2 20080704(Red Hat 4.1.2-52),Hadoop版本是Hadoop-2.5.0-cdh5.3.2。您最好的选择是使用更新版本的g++进行编译。我认为GCC4.4.7对我来说适用于libhadooppipes的CDH5版本。