1
我试图编译以下编译命令Hadoop的C++字计数例如编译问题
g++ -o a -L/home/pc/run/hadoop-install/hadoop/lib/native -lhadooppipes -lhadooputils -lpthread -I/home/pc/run/hadoop-install/hadoop/include wordCount.cpp -Wall
Hadoop的版本是0.23.5 Hadoop的wordCout例子(C++
)。
操作系统是Ubuntu的12.04
不过,我得到一个链接错误如下:
g++ -o a -L/home/pc/run/hadoop-install/hadoop/lib/native -lhadooppipes -lhadooputils -lpthread -I/home/pc/run/hadoop-install/hadoop\
/include wordCount.cpp -Wall
6/tmp/cc3Cte9z.o: In function `main':
7wordCount.cpp:(.text+0x26): undefined reference to `HadoopPipes::runTask(HadoopPipes::Factory const&)'
8/tmp/cc3Cte9z.o: In function `WordCountMap::map(HadoopPipes::MapContext&)':
9wordCount.cpp:(.text._ZN12WordCountMap3mapERN11HadoopPipes10MapContextE[WordCountMap::map(HadoopPipes::MapContext&)]+0x2e): undefin\
ed reference to `HadoopUtils::splitString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const\
*)'
10/tmp/cc3Cte9z.o: In function `WordCountReduce::reduce(HadoopPipes::ReduceContext&)':
11wordCount.cpp:(.text._ZN15WordCountReduce6reduceERN11HadoopPipes13ReduceContextE[WordCountReduce::reduce(HadoopPipes::ReduceContext\
&)]+0x26): undefined reference to `HadoopUtils::toInt(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&\
)'
12wordCount.cpp:(.text._ZN15WordCountReduce6reduceERN11HadoopPipes13ReduceContextE[WordCountReduce::reduce(HadoopPipes::ReduceContext\
&)]+0x5b): undefined reference to `HadoopUtils::toString(int)'
13collect2: ld returned 1 exit status
14make: *** [a] Error 1
任何人都知道其中的问题呢?
也许头是一个不同的版本。所以 –