我正在尝试在 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/

10-09 03:47