首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phash.dll中没有函数

phash.dll中没有函数
EN

Stack Overflow用户
提问于 2013-07-07 23:46:51
回答 1查看 605关注 0票数 1

我想在AutoIt脚本中调用开源感知哈希库pHash的DLL。

但是在phash.dll中,正如DLL Export Viewer所说,只有6个函数: closedir,opendir,readdir,rewinddir,says和telldir。

我错过了一些重要的东西

EN

回答 1

Stack Overflow用户

发布于 2013-07-08 18:52:54

我会发送一封电子邮件给开发人员,因为看起来他们已经从导出中编译了dirent,并将其命名为pHash。肯定有不对劲的地方。我从下载页面的Release和Debug文件夹中的dll中得到了与您相同的结果。

我只是使用以下命令自己编译它:

代码语言:javascript
复制
g++ -c *.cpp
g++ -shared pHash.o -o pHash.dll

我得到了以下导出的函数:

代码语言:javascript
复制
_Z19ph_hamming_distanceyy
ph_about
ph_bitcount8
ph_compare_text_hashes
ph_hammingdistance2
ph_readfilenames
ph_texthash
phash_version

然后,我可以从AutoIt调用ph_about函数:

代码语言:javascript
复制
MsgBox(0, "ph_about", ph_about())

Func ph_about()
    Local $aResult = DllCall("pHash.dll", "str", "ph_about")
    If @error Then Return SetError(@error, @extended, "")

    Return $aResult[0]
EndFunc   ;==>ph_about

如果你只需要文本散列,并且没有安装工具链,那么给我发一封电子邮件,我会把我编译的二进制文件发送给你。我没有任何永久的托管,所以我不会在这里添加链接,它将在几个月的时间内腐烂。

正如我在评论中提到的,如果你想散列图像或视频文件,那么你必须安装this page上列出的依赖项,并使用HAVE_IMAGE_HASHHAVE_VIDEO_HASH标志集进行编译。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17513626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档