2013-07-07 2 views
1

Хотите вызвать DLL с открытым исходным кодом персистентной хэш-библиотеки pHash внутри сценария AutoIt.Нет функций в phash.dll

Но в phash.dll, поскольку DLL Export Viewer говорит, только 6 функций: closedir, opendir, readdir, rewinddir, seekdir и telldir.

Я что-то важное

+0

В чем проблема? У вас есть 6 функций: closedir, opendir, readdir, rewinddir, seekdir и telldir. Сколько должно быть там? – VixinG

+1

Глядя на файл заголовка, вам может потребоваться установить некоторые из зависимостей, а затем перекомпилировать с помощью 'HAVE_IMAGE_HASH' и' HAVE_VIDEO_HASH'. В Windows необычно ожидать, что пользователь будет компилировать двоичный файл. – Matt

ответ

1

отсутствует, я бы отправить письмо разработчикам, как это выглядит, как они собрали Dirent от экспорта и назвал его pHash. Определенно, что-то не так. Я получаю тот же результат, что и вы из dll в папках «Отпуск» и «Отладка» со страницы загрузки.

Я только что собрали его самостоятельно, используя следующие команды:

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 

Если вам просто нужно написать хэширование текста и не иметь t oolchain установлен, тогда поп меня по электронной почте, и я пришлю вам двоичный файл, который я скомпилировал. У меня нет постоянного хостинга, поэтому я не буду добавлять ссылку здесь, где она будет гнить через несколько месяцев.

Как уже упоминалось в моем комментарии, если вы хотите, чтобы хеш изображения или видео-файлы, то вы должны установить зависимости, перечисленные на this page и компилировать с HAVE_IMAGE_HASH и HAVE_VIDEO_HASH флагами.

 Смежные вопросы

  • Нет связанных вопросов^_^