Нет функций в phash.dll
Хотите вызвать DLL из перцептивной хэш-библиотеки с открытым исходным кодом pHash внутри сценария AutoIt.
Но в phash.dll, как говорит DLL Export Viewer, только 6 функций: closedir, opendir, readdir, rewinddir, seekdir и telldir.
Мне не хватает чего-то важного
1 ответ
Я бы отправил разработчикам электронное письмо, так как похоже, что они скомпилировали директиву из экспорта и назвали его pHash. Определенно что-то не так. Я получаю тот же результат, что и вы, из dll в папках Release и Debug со страницы загрузки.
Я сам скомпилировал его, используя следующие команды:
g++ -c *.cpp
g++ -shared pHash.o -o pHash.dll
И я получаю следующие экспортируемые функции:
_Z19ph_hamming_distanceyy
ph_about
ph_bitcount8
ph_compare_text_hashes
ph_hammingdistance2
ph_readfilenames
ph_texthash
phash_version
Я могу тогда позвонить ph_about
функция от AutoIt:
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
Если вам просто нужно текстовое хеширование и у вас нет установленной цепочки инструментов, напишите мне письмо, и я отправлю вам скомпилированный бинарный файл. У меня нет постоянного хостинга, поэтому я не буду добавлять сюда ссылку, где она будет гнить через несколько месяцев.
Как упоминалось в моем комментарии, если вы хотите хэшировать изображения или видео файлы, вам нужно установить зависимости, перечисленные на этой странице, и скомпилировать с HAVE_IMAGE_HASH
а также HAVE_VIDEO_HASH
флаги установлены.