Linuxでopenimageio(oiio)をコンパイルしようとしていますが、cmake
についてはほとんどわからないので混乱しています。私は望んでいないと私は自分のコンピュータに直接/usr/local/
ディレクトリにインストールすることはできませんし、それは問題です。私は成功し、各ライブラリのディレクトリにこれらのbashのコマンドを実行して依存関係をコンパイル:find_libraryのライブラリのカスタムパス
export workingdir=<path_to_my_project>
./configure --prefix=$workingdir/sdks/deploy
make install
そして、これが正常に動作し、私のヘッダはinclude
ディレクトリにあり、私のライブラリがlib
ディレクトリにあります。ここで
は私のプロジェクトの構造である:
../<path_to_my_project>
/sdks
/build
/oiio
/png # Successfully compiled
/jpeg # Successfully compiled
/zlib # Successfully compiled
/boost # Successfully compiled
/ilmbase # Successfully compiled
/openexr # Successfully compiled
/deploy
/lib # all .a, .la and .so of successfully compiled libraries
/include # all headers of successfully compiled libraries
問題は、利用可能な./configure
は、私が実行したときに私は、プレフィックスパスを設定する方法がわからないoiioライブラリディレクトリに存在しないことです
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find PNG (missing: PNG_LIBRARY) (found version "1.6.21")
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindPNG.cmake:105 (find_package_handle_standard_args)
src/libOpenImageIO/CMakeLists.txt:120 (find_package)
は、だから私は、変数を設定し、それがエラーを行いませんが、これはきれいではないと私は変数の内容をアップMESた場合、私は(私のライブラリが正しく参照されていることを確認していないよ:コマンドを作る、私はこのようなエラーを持っています、それはまだ働いている...)。
set (PNG_PNG_INCLUDE_DIR "<workingdir>/sdks/deploy/include/libpng16")
set (PNG_LIBRARY_DIR "<workingdir>/sdks/deploy/lib")
は、その後、私は私自身のFindXXX.cmake
ファイルを作成しようとしましたが、いくつかは、とにかく、私はまた、それがエラーになり、それが正しく必要なファイルを発見したのかはわからないので、ライブラリのルート変数を持っていない。
CMake Error at src/cmake/modules/FindPNG.cmake:104 (include):
include could not find load file:
<workingdir>/sdks/build/oiio/src/cmake/modules/FindPackageHandleStandardArgs.cmake
Call Stack (most recent call first):
src/libOpenImageIO/CMakeLists.txt:120 (find_package)
は、しかし、それはとにかくcmake
ファイルを検索し、私はcmake
ファイルで何かを印刷する場合、私はmake
コマンドを実行したときにそれが表示されます。
私がoiioディレクトリで実行しているコマンドはmake
ですが、私はfind_library
の機能を他のものに見せてくれるようにしたいと思います。私は他のパラメータで関数を呼び出すことができますが、自分のFindXXX.cmakeファイルを使用することはできません。
oiioリポジトリのINSTALLファイルの段落43行に、PNGDIR
のようなカスタムライブラリの環境変数を設定するように指定されていますが、デプロイディレクトリまたはビルドディレクトリを指している必要がありますか?そして彼らはCMakeの設定出力を見て、何の環境変数を設定するのか知っていると言いますが、どのファイルが話しているのかわかりません。
私はPNGDIRを設定しようとしましたが、動作しません。変数名がPNGDIRであるべきかどうかを知る方法はありますか? PNGROOTでもかまいませんか?誰かが私を助けることができれば
export PNGDIR=<workingdir>/sdks/deploy # doesn't work
export PNGDIR=<workingdir>/sdks/build/png # doesn't work
それはいいだろう、私は誰かが私を理解願って、このライブラリは、それを使用するようにコンパイルする必要があります。
'CMAKE_PREFIX_PATH'を使用してください。 'PNGDIR'のようなものはもう使用しないでください。 – usr1234567
それは動作しているようだ、私は今、新しいエラーが多くの包括的な、ありがとうございます:) –