我从 http://grid.hust.edu.cn/triplebit/TripleBit.tar.gz 下载了 TripleBit 的源代码. 它要求我安装两个库:
i) boost-1.39.0.tar.gz
ii) raptor-1.4.21.tar.gz
我使用 :
安装它们sudo apt-get install libboost-dev
sudo apt-get install libraptor-dev
但是,在我进入 TripleBit 的目录并运行“make”之后。我出现以下错误:
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:38: undefined reference to `raptor_init'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:39: undefined reference to `raptor_new_parser'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:40: undefined reference to `raptor_set_statement_handler'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:42: undefined reference to `raptor_uri_filename_to_uri_string'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:43: undefined reference to `raptor_new_uri'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:44: undefined reference to `raptor_uri_copy'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:45: undefined reference to `raptor_parse_file'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:47: undefined reference to `raptor_free_parser'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:48: undefined reference to `raptor_free_uri'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:49: undefined reference to `raptor_free_uri'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:50: undefined reference to `raptor_free_memory'
/home/TripleBit/BuildTripleBitFromRDF/BuildTripleBit.cpp:52: undefined reference to `raptor_finish'
collect2: ld returned 1 exit status
make: *** [bin/lrelease/buildTripleBitFromRDF] Error 1
驻留在/usr/local/lib 中的库文件是:
libboost_filesystem.so, libraptor.a, libraptor.la, libraptor.so, libraptor.so.1
and libraptor.so.1.2.0
/usr/lib 中的文件还有:
libraptor.a, libraptor.la, libraptor.so, libraptor.so.1, libraptor.so.1.2.0,
libraptor2.so.0, libraptor2.so.0.0.0, librasqal.so.3, librasqal.so.3.0.0, librdf.so.0,
librdf.so.0.0.0, librest-0.7.so.0, librest-0.7.so.0.0.0.
谁能帮我找出错误。
我在 ubuntu 12.04 上运行
最佳答案
查看 TripleBit Makefile。您缺少 -lraptor 链接器选项。此条目应由 raptor-config --libs 返回。 您还可以针对 libraptor.a 文件运行 nm 工具,并检查它是否未使用 RAPTOR_DISABLE_V1 选项编译。
关于c++ - 链接外部库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881307/