我正在尝试在 C 中使用 VLFeat 库,如网站上所述
http://www.vlfeat.org/gcc.html 。
我下载并安装了该库。我使用 glnxa64
架构。该库位于 /A/B/C/vlfeat-0.9.18
我的代码如下:
extern "C" {
#include <vl/generic.h>
#include <vl/sift.h>
}
int main (int argc, const char * argv[])
{
VL_PRINT ("Hello world!") ;
return 0;
}
我使用以下语句编译我的代码,
g++ main.cpp -o vlfeat-test -I/A/B/C/vlfeat-0.9.18 -L/A/B/C/vlfeat-0.9.18/bin/glnxa64/ -lvl
但是当我运行它时,我收到以下错误
./vlfeat-test: error while loading shared libraries: libvl.so: cannot open shared object file: No such file or directory
最佳答案
当你的程序被加载时,linux 会加载必要的库。
您需要在/usr/lib/中创建指向 libvl.so 文件的符号链接(symbolic link)
sudo ln -s /home/[YourPATH]/vlfeat-0.9.20/bin/[YourArchitecture]/libvl.so /usr/lib/libvl.so
关于c - 在 C 中使用 VLFeat 的 "loading shared libraries"错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22887344/