1

AutoIt スクリプト内でオープンソースの知覚ハッシュ ライブラリ pHash の DLL を呼び出したい。

しかし、phash.dll では、DLL Export Viewer が言うように、closedir、opendir、readdir、rewinddir、seekdir、telldir の 6 つの関数しかありません。

私は何か重要なものを見逃しています

4

1 に答える 1

1

開発者がエクスポートから dirent をコンパイルし、それを pHash と呼んでいるように見えるので、私は開発者に電子メールを送信します。間違いなく何かが正しくありません。ダウンロード ページの Release フォルダーと Debug フォルダーの 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

テキスト ハッシュだけが必要で、ツールチェーンがインストールされていない場合は、私に電子メールを送ってください。コンパイルしたバイナリをお送りします。私は永続的なホスティングを持っていないので、数か月で腐敗するリンクをここに追加しません.

私のコメントで述べたように、画像またはビデオ ファイルをハッシュしたい場合は、このページHAVE_IMAGE_HASHにリストされている依存関係をインストールし、HAVE_VIDEO_HASHフラグを設定してコンパイルする必要があります。

于 2013-07-08T10:52:53.890 に答える