2

pHash 拡張機能をコンパイルしようとしています。ここで段階的な説明を見つけましたhttps://serverfault.com/questions/491730/compile-phash-on-centos-php-extension

しかし、私は2つの問題にぶつかっています:

1) /usr/local/include フォルダーに CImg.h をコピーしたにもかかわらず、pHash ソースの ./configure スクリプトを起動すると、ログに次のエラーが表示されます。

*** Configuring image hash ***

checking CImg.h usability... no
checking CImg.h presence... no
checking for CImg.h... no
checking whether CImg.h is in the current or src directory.... no

pHash DCT画像ハッシュアルゴリズム関数に最も興味があるので、これは本当に残念です

2) make を起動すると、pHash のコンパイルが次のエラーで失敗します。

../src/.libs/libpHash.so: undefined reference to `pthread_create'
../src/.libs/libpHash.so: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
make[2]: *** [test_texthash] Error 1
make[2]: Leaving directory `/home/downloads/libraries/pHash-0.9.6/examples'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/downloads/libraries/pHash-0.9.6'
make: *** [all] Error 2

なぜこれが起こっているのですか?上記のリンクに記載されているように、すべての依存関係が満たされていることを確認しました。pHash-0.9.5 で試してみたいのですが、phash.org の Web サイトで古いバージョンのアーカイブを見つけることができませんでした。

4

2 に答える 2

4

実際、私は両方の問題を理解しました

1)UbuntuにはCImgパッケージがあり、問題なくインストールできます

$ sudo apt-get install cimg-dev

2) pthread エラーは、configure スクリプトに LDFLAGS パラメータを追加することで解決できます。

$ ./configure --enable-openmp=yes --enable-video-hash=no --enable-audio-hash=no LDFLAGS='-lpthread'

今、私はphp拡張機能のコンパイルの問題を抱えていますが、それは別の話です(ため息):php拡張機能は私のPHPよりも新しいAPIバージョンでコンパイルされます

于 2014-03-05T21:24:57.247 に答える