'对`shogun :: SGRefObject :: unref()'的未定义引用用.so对象编译时

时间:2016-07-10 18:06:34

标签: shogun

当我尝试编译shogun开发者页面上给出的高斯内核测试时,我收到此错误 https://github.com/shogun-toolbox/shogun/wiki/README_developer
我按照给出的说明在https://github.com/shogun-toolbox/shogun/wiki/INSTALL生成.so幕府将军图书馆 然后我转到上面包含共享对象库的目录并发出了命令"g++ GTest.cpp shogun/libshogun.so -o a.out",并且给出了错误,这是该帖子的主题。
我浏览了一个在网上链接的线程(2个链接限制),但我无法找到给定的解决方案。
任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您不应该尝试直接将共享库与您的示例相关联。 假设你创建了一个基于幕后的示例文件,让我们称之为shogun_example.cpp,为了编译它你应该运行:

g++ shogun_example.cpp -o shogun_example -lshogun

这是因为libshogun.so位于链接器的搜索路径中。

如果编译的libshogun.so不在搜索路径中,那么您应该使用-L向编译器提供共享库的位置,例如:

g++ shogun_example.cpp -o shogun_example -L<path to the shogun shard lib> -lshogun