一部のコンパイラにlibjpegを含めることに成功した人はいますか?私はすべてを試しました:Dev C ++、VS10、CodeBlocks、ヘッダーとライブラリを手動でコピーし、リンカーで追加しますが、何もしませんでした。現在、どのコンパイラでもコンパイルする方法についての公式ガイドがないので、私は本当に自信を持っています。誰かがライブラリをどのコンパイラでコンパイルできるかについてのチュートリアルを提供してくれたら本当に嬉しいです。前もって感謝します。
6 に答える
Visual Studio 2012で9をコンパイルするlibjpeg
には、次の手順を実行します(アーカイブファイルを解凍した後)。
ファイルをダウンロードし
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
と。に2つのVisualStudio2010ソリューションが作成されますapps.sln
。Visual Studio 2012で各ソリューションを開きます。各ソリューションで、すべてのプロジェクトを2012形式に更新するように求められます。「更新」をクリックします。一度やったとき、プロンプトが表示されませんでした。その場合
jpeg
は、ソリューションエクスプローラーでソリューションを右クリックし、[VC ++プロジェクトの更新...]を選択すると、同じプロンプトが表示されます。通常どおり、各ソリューションを保存して構築します。(後者は前者に依存するため、
jpeg.sln
前にソリューションを構築する必要があります。)apps.sln
注:このプロセスは、更新しなくてもVisual Studio 2010で正しく機能するはずですが、私はテストしていません。
更新:このメソッドは、Visual Studio2015forでも機能しlibjpeg-9a
ます。
これが私がWindowsでMinGWを使ってlibjpegを構築した方法です:
1.MSYSでMinGWを入手する
http://sourceforge.net/projects/mingw/からコピーを入手しました。www.mingw.orgからの引用:
MSYSは、bash、make、gawk、grepなどのGNUユーティリティのコレクションであり、従来のUNIXツールに依存するアプリケーションやプログラムを構築できます。
configure
libjpegソースに付属のスクリプトを実行するために必要になります。
2.libjpegソースを取得します
http://www.ijg.org/から、Unix形式のパッケージを入手します(Windowsのものはこの手順では機能しません)。私はそのjpeg_8d
バージョンを取りました。
3.建物のディレクトリを準備します
tmp
でという名前の一時ディレクトリを作成しましたがD:\
、ニーズに合ったものを選択できます。重要なのは、MSYSのパスの名前です。Windowsに* Unixity *をもたらすため、パスを元の形式で使用することはできません。一言で言えば:
C:\path\to\file
MSYSランドになり /c/path/to/file
、そう
D:\tmp
なり /d/tmp
ます。
のlibjpegソースを解凍してD:\tmp
、jpeg-8d
そこにディレクトリを作成します。
jpeg-build
内部にディレクトリを作成しますD:\tmp
。これにより、ビルドされたライブラリが保持されます。
これで、すべてをビルドする準備が整いました。
4. ./configure、make、make install
それが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の静的バージョンと共有バージョンの両方をビルドします。
5.商品を受け取り、一時的なものを削除します
すべてが正常に実行されている場合は、ディレクトリを削除できますがD:\tmp\jpeg-8d
、そのままにしておきjpeg-build
ます。を含む:
include
libjpegヘッダーを含むディレクトリ。それらをコンパイラのheadersディレクトリに移動できます。- リンカに渡すファイルを含む
lib
ディレクトリ。.a
それらをコンパイラのライブラリディレクトリに移動できます。 bin
libjpeg共有ライブラリlibjpeg-8.dll
とjpegツールを保持するディレクトリ。- jpegツールのページを含む
share
ディレクトリ。man
これで、適切なインクルードパスとライブラリパスを指定することで、プログラムをビルドし、libjpegに対してリンクすることができます。
libjpegのビルドとインストールのプロセスに関する多くの詳細はinstall.txt
、ソースパッケージ内にあります。
これがお役に立てば幸いです。
VS10でjpeg.libを作成するのは本当に簡単です。
まず、libjpegのソースコードをzip形式でダウンロードします。私がこれを書いている時点で、あなたはそれをここで見つけることができます。
次に、zipファイルの内容をディスクに抽出します。
次に、VS2010コマンドプロンプトシェルを開き(または任意のコマンドプロンプトウィンドウでvcvarsall.batを呼び出し)、jpegソースディレクトリ(上記のダウンロードではjpeg-8d)にcdして、次のように入力します。
nmake -f makefile.win setup-v10
これにより、2つのVS2010ソリューションと多数のプロジェクトファイルが生成されます。解決策は次のとおりです。
jpeg.sln
、ビルドしますjpeg.lib
apps.sln
、サンプルアプリケーションをビルドします。
幸運を!
Visual Studio 2010がインストールされていない場合、VisualStudio2017で機能するものは次のとおりです。
基本/一般的な手順:
- http://www.ijg.org/(zipバージョン)からlibjpegの最新バージョンをダウンロードし、フォルダーに解凍します。
- 「VS2017の開発者コマンドプロンプト」を開きます
- ディレクトリ(
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に注意してください)
ここからは、@AthanasiusOfAlexが説明した内容に従ってVisualStudio2010ソリューションを実行中のVisualStudioバージョンにアップグレードします。デバッグ構成が必要な場合は、@SteveEngの説明に従ってください。
あなたが遭遇するかもしれないエラー:
nmake
失敗してjconfig.hの作成方法がわからないと表示された場合は、ファイルの名前を手動で次のように変更しますjconfig.vc
。jconfig.h
nmake
失敗してWin32.Makが見つからないというメッセージが表示された場合は、手順4で説明したSDKディレクトリからlibjpegソースディレクトリに手動でコピーします。そのSDKバージョンがインストールされていない場合は、信頼できるリソースからファイルをダウンロードしてください。- 失敗して、、、などから始めて試行錯誤する方法
nmake
がわからない場合は、これらはVSバージョンであり、VS2008以降のVSバージョンがある限り機能するはずです。インストールされています。setup-v15
setup-v10
setup-v11
これが人々がこれで同様の苦痛を経験するのを助けることを願っています。
MSVCでもデバッグモードが必要な場合。AthanasiusOfAlexのメソッドに従い、リリースをビルドしてから、次のようにします。
- プロジェクトを右クリックして、一番下のプロパティを選択します
- 構成マネージャーをクリックし、アクティブなソリューション構成ドロップダウンで-new-を選択します。
- デバッグする名前を設定し、ドロップダウンで[リリースから構成設定をコピーする]を選択して[OK]をクリックします
- ダイアログを閉じ、一般設定に移動し、[ターゲット名]で最後に広告を追加して、次のようにします。$(ProjectName)d
- [プログラム全体の最適化]ドロップダウンで、[プログラム全体の最適化なし]を選択します。
- 次に、左側の構成プロパティの下にあるC / C ++をクリックし、[デバッグ情報の形式]ドロップダウンで[C7互換(/ Z7)]を選択します。
- [最適化]で[無効]を選択し、[ファイバーセーフ最適化を有効にする]と[プログラム全体の最適化]の両方で[いいえ]を選択します
- プリプロセッサ、プリプロセッサ定義の下で、編集をクリックして、以下を使用します。WIN32 _DEBUG DEBUG _LIB _CRT_SECURE_NO_WARNINGS
- コード生成で、ランタイムライブラリでマルチスレッドデバッグDLL(/ MDd)を選択します
ビルドすれば完了です!
.slnファイルを作成するには、このようにVisualStudioのバージョン名を正しく考慮してください。
製品名コードネームバージョン番号
Visual Studio 2019 Dev16 16.0
Visual Studio 2017 Dev15 15.0
Visual Studio 2015 Dev14 14.0
Visual Studio 2013 Dev12 12.0