この質問/回答は、最終的にこの質問に対する完全な回答として役立ちます: C++ で JPEG 画像を操作/回転するにはどうすればよいですか? その質問に対する回答は、以下のすべてを既に行っている場合にのみ役立ちます。
ここのガイドに従いました: libjpeg のコンパイル (MINGW32 シェルを使用した受け入れられた回答ガイド)
新しいコピーをダウンロードしても機能しません。
$ make
make all-am
make[1]: Entering directory `/c/tmp/jpeg-9'
CC jaricom.lo
CC jcapimin.lo
jcapimin.c:127:1: error: conflicting types for 'jpeg_suppress_tables'
jcapimin.c:128:1: note: an argument type that has a default promotion can't matc
h an empty parameter name list declaration
In file included from jcapimin.c:22:0:
jpeglib.h:997:14: note: previous declaration of 'jpeg_suppress_tables' was here
make[1]: *** [jcapimin.lo] Error 1
make[1]: Leaving directory `/c/tmp/jpeg-9'
make: *** [all] Error 2
8d と 9 はどちらも同じことを行います。
この質問に記載されている変更を行った後: libjpeg を mingw でコンパイルします。
次の定義を jconfig.h に追加します。
#define HAVE_PROTOTYPES 1
作成時に次の出力が得られます。
$ make
make all-am
make[1]: Entering directory `/c/tmp/jpeg-9'
CC jaricom.lo
In file included from jinclude.h:20:0,
from jaricom.c:17:
jconfig.h:5:24: warning: extra tokens at end of #undef directive [enabled by def
ault]
CC jcapimin.lo
In file included from jinclude.h:20:0,
from jcapimin.c:21:
jconfig.h:5:24: warning: extra tokens at end of #undef directive [enabled by def
ault]
jcapimin.c:127:1: error: conflicting types for 'jpeg_suppress_tables'
jcapimin.c:128:1: note: an argument type that has a default promotion can't matc
h an empty parameter name list declaration
In file included from jcapimin.c:22:0:
jpeglib.h:997:14: note: previous declaration of 'jpeg_suppress_tables' was here
make[1]: *** [jcapimin.lo] Error 1
make[1]: Leaving directory `/c/tmp/jpeg-9'
make: *** [all] Error 2
次に、「autoheader」を実行してこれを修正し、再度作成する必要があります。
おそらく作成されましたが、./configure --prefix=/c/tmp/jpeg-9-build/ で設定されたビルド ディレクトリには何もありません
プロジェクト ディレクトリ内の .lib フォルダに libjpeg-9.dll が見つかりました。
乱雑..問題は次のとおりです。Eclipseでどのように使用しますか?
メイン ディレクトリに exe があり、.lib サブディレクトリにいくつかの exe と DLL がありますが、.lib ファイルはありません - これらを Eclipse プロジェクトにインポートして、DLL 内の関数を呼び出せるようにするにはどうすればよいですか?
$ make install
ビルドディレクトリにファイルを集めました。
ビルド ディレクトリの内容を作業中の Eclipse プロジェクトに移行し、ライブラリとインクルード パスをリンクしました。
これが私が使いたい方法に合っているかどうかはわかりませんが、それは何かであり、コンパイルされます。次の部分: DLL から関数を呼び出す?
コンパイルされた jpegtran.exe の使用に関連: jpegtran.exe が画像を正しく回転しない
ライブラリを使用して別のプロジェクトでコンパイルしようとしています: libjpeg から jpegtran.c コードをコンパイルするのに助けが必要です