Нет функций в 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 флаги установлены.

Другие вопросы по тегам