这是一些(可能)非常简单的问题:我试图在Ubuntu 11.10中使用感知哈希库pHash。顺便说一下,我已经安装了ffmpeg:

sudo apt-get install libphash0
sudo apt-get install libphash0-dev


然后尝试编译该程序:

#include <iostream>

#include <pHash.h>

using namespace std;

int main()
{
    ulong64 myhash=0;

    ph_dct_imagehash("test.jpg", myhash);
    cout<<myhash<<endl;
}


编译时,它只是打印出来:

undefined reference to `ph_dct_imagehash'


有什么建议吗?我该怎么办?
提前致谢!

马特奥·蒙蒂(Matteo Monti)

最佳答案

您当然忘了链接pHash库,所以链接器找不到此功能。

尝试将-l pHash添加到GCC命令行(或更新您的Makefile)。如果不起作用,也许您还需要使用-L "/usr/lib/"指定库路径(* .a文件的位置)。

关于c++ - 编译phash程序时的麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10968049/

10-09 09:01