大家都在那里, 我写了一个c代码,当我编译它时有一个奇怪的问题。 源代码正常。 我有以下选项编译:linux库问题
$ gcc above_sample.c -I/home/hadoop/project/hadoop-0.20.2/src/c++/libhdfs -L/home/hadoop/project/hadoop-0.20.2/c++/Linux-amd64-64/lib -lhdfs -o above_sample.
但它显示出放像:
/usr/bin/ld: warning: libjvm.so, needed by /home/hadoop/project/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so, not found (try using -rpath or -rpath-link) /home/hadoop/project/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so: undefined reference to `[email protected]_1.1'
/home/hadoop/project/hadoop-0.20.2/c++/Linux-amd64-64/lib/libhdfs.so: undefined reference to `[email protected]_1.1'
collect2: ld returned 1 exit status
我搜索libjvm.so我发现它在我在/ usr/JAVA/lib目录系统。
我做了一个它的符号链接,但没有工作。
我复制库中的几个地方,如usr/lib目录检查LD_LIBRARY_PATH 但不能设法编译它一次又一次
任何一个可以告诉我,我在做什么显示相同的错误的程序错了? 如何将.so文件链接到gcc? 或.so文件如何链接到程序中?
我的代码是有同样的错误。系统在多个位置找到libjvm.so。但是,“添加-LLOCATION_to_libjvm.so”的解决方案似乎没有任何影响。 – Causality 2013-04-11 22:15:35