这是一些(可能)非常简单的问题:我试图在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/