私はC#プロジェクトでFreeTypeを使いたいです。私はこのbindingを見つけましたが、私はまだfreetype.dllが必要です。私は通常、私のC++プロジェクトで静的ライブラリを使用するので、私は決してコンパイルしません。 freetype-solution(VS2010)を開く私は動的ライブラリの設定がないことに気付きました。静的なものだけです。私は自分の設定をしようとし、freetype.dllを生成するようにしました。私がc#-bindingでそれを使用すると、FT_Init_FreeTypeエントリポイントが見つからないという例外が発生します。これらの関数をエクスポートするためにfreetype-projectをどのように調整しなければならないのでしょうか?FreeTypeをDLLにコンパイルする(スタティックライブラリではなく)
14
A
答えて
35
古いバージョン(2008年3月)で問題が解決しない場合は、FreeType for Windowsページにアクセスし、最新のバイナリパッケージをダウンロードして.ZIPを開き、binディレクトリからFreeType6.dllを抽出します。適切に名前を変更するだけです。
あなたは、より新しいバージョンが必要な場合は、ここであなたは、最新のをコンパイルする方法です。
オープンのVisual Studioから最新のソース(今日のよう2.4.6)をダウンロード2010、負荷
freetype.sln
をbuilds\win32\vc2010
ディレクトリからロードします。- は、プロジェクトの設定を開き、
General
タブで、Configuration Type
からDynamic Library (.dll)
が
ftoption.h
ファイルを開いて変更し、これらの行を追加します(「DLLエクスポートのコンパイル」の近くに例えばセクション備考):#define FT_EXPORT(x) __declspec(dllexport) x #define FT_BASE(x) __declspec(dllexport) x
プロジェクトのコンパイル設定を「リリース」に変更します。
プロジェクトをコンパイルします。
objs\win32\vc2010
ディレクトリにfreetype246.dll
があるはずです。私はこの問題は、すべてのコードがそこにいる間、誰もが得ることができないので、シンボルのアドレスは、輸出のテーブルに含まれていないので、あなたのDLLプロジェクトは、任意のシンボルをエクスポートしないことであることを賭けるつもりです
1
彼らには外部から。
This questionには、手動でリストすることなく、.dll内のすべてのシンボルをエクスポートすることができます。
これらのバイナリは2008年3月9日(バージョン2.3.5 ...)です。現在のバージョンは2.4.6 ... – Titusz
です@ティトゥス - 良い点。私は私の答えを更新しました。しかし、あなたがdownvoterなら、質問が完全であることを確認して、答える前にすべての話を知っておくといいでしょう。 –
これは完璧に機能しました...非常に多くの...恩恵を受けてくれてありがとうございます;) – Titusz