アプリケーションが .so
を動的にリンクしているようです ライブラリ ファイルは、使用しているヘッダー以外の場所にインストールされています。 ldd <binary>
できます .so
を特定する バイナリが取得され、使用しているディレクトリではなく、そのディレクトリからヘッダー ファイルを取得します (システム ディレクトリでない限り)。 -I
を変更することでこれを行うことができます コンパイル時のフラグ。それ以外の場合は、libpng-1.4.3
をインストールする必要があると思います ヘッダーに対してコンパイルできるようにします。
マーク B はすでにそれを説明しました.マッテオのためにもう一度
リンカーは、libpng の最初の出現をピックアップします。 OpenCVにネストされているようです。 Makefile を見て、ローカル バージョンを 前 に置きます インクルードへの OpenCV のインクルード。私の場合:
-I/usr/include/libpng12 -lpng12 [ ... ] -L/usr/local/lib -lopencv_core