最も簡単な解決策は、 FreeImageNET nuget packageを使用することです。警告: 私はこれをテストしていません。32ビット対64ビットをどのように扱うのかわかりません。
これは、ソリューション エクスプローラーで行うことができます - "Manage NuGet packages for Solution..."
。
以下の手順は、.NET ラッパーを自分でビルドしたい人向けです。
ベルンハルトの答えを明確にするには:
FreeImageNet.dll
64 ビット プロジェクトで FreeImage を使用するには、「.NET ラッパー」を 64 ビットとしてコンパイルするだけでは不十分です。の 64 ビット バージョンを
使用していることも確認する必要があります。FreeImage.dll
FreeImage\Dist\x64\FreeImage.dll
これは「任意の CPU」ソリューションではないことに注意してください。メイン exe のプロジェクト プラットフォームを「x64」に設定します。
FreeImageNet.dll
64 ビットでビルドするには (でテスト済みVS 2019 Community
):
- http://freeimage.sourceforge.net/download.htmlから最新の
"FreeImage DLL" [WIN32/WIN64]
アーカイブをダウンロードします。基礎となる C++ dll をビルドする場合を除き、「ソース配布」は必要ありません。これを書いている時点で、ダウンロードするファイルは.FreeImage3180Win32Win64.zip
FreeImage\Wrapper\FreeImage.NET\cs\FreeImage.NET.sln
VS で開きます。プロジェクト形式を 2019 に変換します。
- アンロード
UnitTest project
(NUnit パッケージの欠落によるエラーを回避するため)。
- ビルド構成/プラットフォームを に設定し
"x64"
ます。
- ライブラリ/プロパティ/ビルドを開く - に設定
"Treat warnings as errors"
し"None"
ます。"Platform"
注: これは、ビルドごとに設定する必要があります。そのため、最初に Build Platform を設定するのを忘れた場合は、Build Platform を x64 に設定した後、これがまだ "None" であることを確認してください。
- ライブラリ プロジェクト / を右クリックします
Build
。
- アプリのデバッグ中に for シンボルを使用してデバッグ バージョンを使用する場合は、 for
Debug
とRelease
build 構成の両方を実行します。アプリのリリース ビルド用の dll が必要になりますFreeImageNET.pdb
。Release
- このライブラリを参照する .exe は、 も参照する必要があります
FreeImage\Dist\x64\FreeImage.dll
。
必要に応じて、その .sln でサンプル 1 をビルドして実行できることを確認します。
- 構成を に設定し
Debug + x64
ます。スタートアッププロジェクトSample 1
。
- 建てる。今実行すると、 が見つかりません
FreeImage.dll
。
bin
現在含まれているフォルダーを見つけますSample01.exe
。FreeImageNet.dll
これには、以前に作成した のコピーも含まれているはずです。
- 基礎となる C++ dll の x64 バージョンが必要です。
FreeImage\Dist\x64\FreeImage.dll
を見つけたフォルダにコピーしますSample01.exe
。
- サンプルの
Program / Main
メソッドの開始時にブレークポイントを設定します。手順を追って、コンソール ウィンドウでエラー メッセージを探します。最も重要なことは、FreeImage.IsAvailable()
チェックが成功することを確認することです。「FreeImage.dll が見つからないようです」とは言いません。
これで、独自のアプリでこれを繰り返す準備ができました。
- メインの exe プロジェクトの構成を に設定し
Debug + x64
ます。
- 建てる。ビルドしている bin フォルダーを確実に把握するため。
- 、、およびを
FreeImage.dll
、が含まれるフォルダにコピーします。FreeImageNET.dll
FreeImageNET.pdb
.exe
- [オプション] ソリューションに追加
FreeImage\Wrapper\FreeImage.NET\cs\Library\Library.csproj
します。これは、VS 2019 が以前に作成した "2019 形式" バージョンです。これにより、ラッパー ソースへのデバッグが容易になります。
- ここで、exe プロジェクトで 2 つの dll を参照し、通常どおりプロジェクトをデバッグします。(または、
Library
プロジェクトを依存関係として参照し、さらにFreeImage.dll
.)
注: これらのファイルを bin フォルダーに直接コピーするのは、これを行うための「汚い」方法です。dll を使用してビルドおよび実行できることを確認する最も簡単な方法でした。これらの dll をソース コード管理下の「ソース」の一部にし、ビルド プロセスの一部として bin フォルダーにコピーすることをお勧めします。その手順については、他の場所で Google を参照してください。