Libjpegを一部のコンパイラに含めることに成功した人はいますか?私はすべてを試しました:Dev C++、VS10、CodeBlocks、ヘッダーとlibを手動でコピーし、リンカーで追加しましたが、何も追加しませんでした。現時点では、どのコンパイラでコンパイルするかに関する公式ガイドはないので、本当に納得しています。ライブラリーをどのコンパイラーでコンパイルするかについてのチュートリアルを誰かが提供できれば、本当にうれしいです。前もって感謝します。
WindowsでMinGWを使用してlibjpegを構築した方法を次に示します。
http://sourceforge.net/projects/mingw/ からコピーを入手しました。 www.mingw.orgからの引用:
MSYSは、bash、make、gawk、grepなどのGNUユーティリティのコレクションであり、従来のUNIXツールに依存するアプリケーションやプログラムの構築を可能にします。
Libjpegソースに付属するconfigure
スクリプトを実行するために必要になります。
http://www.ijg.org/ から、Unix形式のパッケージを使用します(Windowsはこの手順では動作しません)。 jpeg_8d
バージョンを使用しました。
D:\
にtmp
という名前の一時ディレクトリを作成しましたが、必要に応じて任意のディレクトリを選択できます。重要なのは、MSYSのパスの名前です。 *Unixity*をWindowsにもたらすため、パスを元の形式で使用することはできません。手短に:
C:\path\to\file
はMSYSランドでは/c/path/to/file
になります。そのため、D:\tmp
は/d/tmp
になります。
D:\tmp
のlibjpegソースを解凍します。そのため、そこにjpeg-8d
ディレクトリがあります。
jpeg-build
内にD:\tmp
ディレクトリを作成すると、ビルドされたライブラリが保持されます。
これで、すべてのビルドの準備が整いました。
それがUnixの土地での建物のマントラです。インストールプロセスをD:\tmp\jpeg-build
にリダイレクトするオプションを追加する必要があります。
MSYSシェル(Windowsの[スタート]メニューでMinGWシェルとも呼ばれます)で次のコマンドを実行します。
cd /d/tmp/jpeg-8d
./configure --prefix=/d/tmp/jpeg-build
make
make install
追加の手順として、安全のためにmake test
を実行できます。
これらのコマンドは、libjpegの静的バージョンと共有バージョンの両方を構築します。
すべてが正常に実行される場合、D:\tmp\jpeg-8d
ディレクトリを削除できますが、jpeg-build
ディレクトリは保持します。を含む:
include
ディレクトリ。これらをコンパイラのヘッダーディレクトリに移動できます。lib
ディレクトリ。リンカに渡す.a
ファイルが含まれます。それらをコンパイラのライブラリディレクトリに移動できます。libjpeg-8.dll
およびjpegツールを保持するbin
ディレクトリ。share
ページを含むman
ディレクトリ。これで、正しいインクルードパスとライブラリパスを指定して、プログラムをビルドし、libjpegにリンクできます。
ソースパッケージ内のinstall.txt
でlibjpegのビルドとインストールプロセスに関する多くの詳細を見つけることができます。
これが役に立つことを願っています。
Visual Studio 2012でlibjpeg
9をコンパイルするための手順は次のとおりです(アーカイブファイルを解凍した後)。
ファイルWIN32.MAK
(たとえば、 http://www.bvbcode.com/code/f2kivdrh-395674-down から)をダウンロードし、コピーをルートソースコードディレクトリ(おそらくC:\jpeg-9
ですが、それを解凍した場所によって異なります)。今後、このディレクトリを%jpegsrc%
と呼びます。このファイルを持つことは重要です。そうしないと、手順3でエラーが発生します。
Visual Studioコマンドプロンプトで、%jpegsrc%
を開きます。
cd %jpegsrc%
同じコマンドプロンプトで、次を実行します。
NMAKE /f makefile.vc setup-v10
これにより、%jpegsrc%
:jpeg.sln
およびapps.sln
に2つのVisual Studio 2010ソリューションが作成されます。
Visual Studio 2012で各ソリューションを開きます。各ソリューションで、すべてのプロジェクトを2012形式に更新するように求められます。 「更新」をクリックします。一度行ったところ、プロンプトは表示されませんでした。その場合は、ソリューションエクスプローラーでjpeg
ソリューションを右クリックし、[VC++プロジェクトの更新...]を選択して、同じプロンプトを生成します。
通常どおり各ソリューションを保存してビルドします。 (後者は前者に依存するため、jpeg.sln
の前にapps.sln
ソリューションを構築する必要があります。)
注:このプロセスは、更新せずにVisual Studio 2010で正常に動作するはずですが、テストしていません。
更新:このメソッドは、libjpeg-9a
のVisual Studio 2015でも引き続き機能します。
VS10でjpeg.libをビルドするのは本当に簡単です。
最初に、zip形式のlibjpegソースコードをダウンロードします。私がこれを書いているとき、あなたはそれを見つけることができます ここ 。
次に、Zipファイルの内容をディスクに抽出します。
次に、VS2010コマンドプロンプトシェルを開き(またはコマンドプロンプトウィンドウでvcvarsall.batを呼び出し)、jpegソースディレクトリ(上記のダウンロードのjpeg-8d)に移動して、次のように入力します。
nmake -f makefile.win setup-v10
これにより、2つのVS2010ソリューションと多数のプロジェクトファイルが生成されます。ソリューションは次のとおりです。
jpeg.sln
、ビルドjpeg.lib
apps.sln
、サンプルアプリケーションをビルドします。幸運を!
Visual Studio 2010がインストールされていない場合、Visual Studio 2017で機能するものは次のとおりです。
基本/一般的な手順:
cd
)をライブラリソースを抽出した場所に変更しますVS 2017アプローチ:
次のコマンドを実行して、Windows SDK v7.1Aディレクトリを含めます(後でnmakeでWin32.Makに必要):set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
nmake /f makefile.win setup-v15
を実行します(VS2017のv15に注意してください)
ここから、実行中のVisual StudioバージョンにVisual Studio 2010ソリューションをアップグレードするために@AthanasiusOfAlexが説明した内容に従います。デバッグ構成が必要な場合は、@ SteveEngの説明に従ってください。
遭遇する可能性のあるエラー:
nmake
が失敗し、jconfig.hの作成方法がわからないと通知された場合、ファイルの名前を手動でjconfig.vc
からjconfig.h
に変更します。nmake
が失敗し、Win32.Makが見つからないというメッセージが表示された場合は、手順4で説明したSDKディレクトリからlibjpegソースディレクトリに手動でコピーします。そのSDKバージョンがインストールされていない場合は、信頼できるリソースからファイルをダウンロードしてください。nmake
が失敗し、setup-v15
の作り方がわからない場合、setup-v10
、setup-v11
などで始まる試行錯誤VSバージョンであり、VS 2008以降のVSバージョンがインストールされている限り、いずれかが機能するはずです。これが同様の痛みを経験する人々の助けになることを願っています。
MSVCでもデバッグモードが必要な場合。 AthanasiusOfAlexの方法に従い、リリースをビルドしてから、次の操作を行います。
ビルドすれば完了です!