DOBON.NET DOBON.NETプログラミング掲示板過去ログ

mingw・msys環境に自分でライブラリを追加するには?

  • 題名: mingw・msys環境に自分でライブラリを追加するには?
  • 著者: とん。
  • 日時: 2013/01/31 2:35:50
  • ID: 31292
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[Windows XP 32ビット]
分類:[その他]

お世話になります。
プログラミング以前ですが、環境構築すらできずに困っています。


32ビットのXPを使用しています。

ビルドしたいオープンソースのソフトがあり、
gtkmmとcmakeを導入後、
mingwとmsysを、「mingw-get-inst」のGUIインストーラで自動導入しました。
問題なくmsys.batは起動しますし、拾ってきたライブラリをmake install等できる状態です。

目的のソフトのビルドに必要な各種ライブラリはこのソフトの説明書COMPILE.txtに書かれていて
導入方法も書かれているのでそれに従って(一部、ファイル名の記述ミスがあるようですが)
make install等で実際に導入し、それらは問題なく入りました。

いざソフトをcmake -G "MSYS Makefiles"すると、
追加したライブラリのうち「pkg_check_modules」で確認してる分は、
make install時に自動的にpkgconfigに〜.pcファイルが作られた分も自分でちまちま手作りした分も、
すべてちゃんと発見できました。
が、「find_package」関数で確認しているJPEGとTIFFが見つからないと言われます。

CMakeLists.txtの中では
pkg_check_modules (LCMS REQUIRED lcms2)
find_package (EXPAT REQUIRED expat>=2.0)
pkg_check_modules (FFTW3F REQUIRED fftw3f)
pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
pkg_check_modules(FFTW3 fftw3)
find_package (JPEG REQUIRED)
find_package (PNG REQUIRED)
find_package (TIFF REQUIRED)
find_package (ZLIB REQUIRED)
となっていますが、JPEGでエラーになると止まるようなので他はどうだろうと記述を色々入れ替えてみると、
自分で導入したTIFF(libtiff4.0.3)はJPEGと同じで見つけられませんでした。
(もちろん、gtkmm組み込みになったZLIBとPNGの部分は問題なく通過できます。これらはc:/gtkmmにあります。)


JPEGの方でのエラーは、以下です。
CMake Error at d:/ols/CMake2.8/share/cmake-2.8/Modules/FindPackageHandleStandard
Args.cmake:97 (message):
  Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
Call Stack (most recent call first):
  d:/ols/CMake2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:29
1 (_FPHSA_FAILURE_MESSAGE)
  d:/ols/CMake2.8/share/cmake-2.8/Modules/FindJPEG.cmake:31 (FIND_PACKAGE_HANDLE
_STANDARD_ARGS)
  CMakeLists.txt:192 (find_package)



/mingwのinclude、libやbinにファイルはちゃんとコピーされています。
(※なお、同じくfind_packageを使用するはずのexpatライブラリは、
特に追加作業をせずmake installしただけでもエラーになっていません。)


JPEGとTIFFで行った作業は、
libjpeg:
  - Download: http://www.ijg.org/
  - How to build:
      cd to the directory you unpacked jpeg-8b to.
      ./configure --prefix=/mingw
      Copy jconfig.txt to jconfig.h (overwrite the existing file).
      make
      make install

libtiff:
  - Download: ftp://ftp.remotesensing.org/pub/libtiff/
  - How to build:
      In the configure process below, set the zlib include and lib path
      to the right folder. We're assuming that you're using the one
      provided in the gtkmm bundle.
      ./configure --prefix=/mingw --with-zlib-include-dir=/c/gtkmm/include --with-zlib-lib-dir=/c/gtkmm/lib
      make
      cd libtiff
      make install
に従った手順のみです。

find_packageがこれらを見つけてくれるようにするには、
この後にどのような作業が必要なのでしょうか。


なお、pkg_check_modulesじゃないので関係ないかなと思いつつ
念のためpkgconfigに〜.pcファイルを作ってみたりもしましたが、
pkg-config --libs等が返せるようになるだけで特にビルドには変化なかったので消しました。


すみませんが、どなたか教えてください。

DOBON.NET | プログラミング道 | プログラミング掲示板