2012-02-10 17 views
2

C++で画像処理用のライブラリとしてFreeImageを使用することはもうありませんでしたが、by some ofとお伝えしました。FreeImageをVisual Studio 2010で使用する

私は今、ライブラリを稼働させるのにいくつか問題があります(ここでは比較的新しい)。

さまざまなvcxprojとslnタイルを読み込もうとしましたが、空白のプロジェクトがありました。インストール手順がないので、私はそれをビジュアルスタジオソリューションにすることをあきらめました。

次に、Makefileを使用してソースコードをコンパイルしてから、 "FreeImage/Source"をリンカに追加する旧式の方法を試しました。 FreeImage.hで宣言された関数を呼び出すと、IDEは赤いフラグを立てませんが、コンパイル時に関数が存在しないかのように "エラーLNK2019:未解決の外部シンボル"が表示されます。私は、IDEが上記の関数を定義する.cppファイルを見つけることができなかったと思っていますが、FreeImage/Source/FreeImageをリンカーに追加しても同じ問題が発生します。

テスト用に.cppファイル(つまりPlugin.cppとFreeImage.cpp)を直接インクルードしたとき、私はより一層未解決の外部シンボルエラーとそのための "一貫性のないDLLリンケージ" ...例えばFreeImage.cpp:だから

const char * DLL_CALLCONV FreeImage_GetVersion() { static char s_version[16]; sprintf(s_version, "%d.%d.%d", FREEIMAGE_MAJOR_VERSION, FREEIMAGE_MINOR_VERSION, FREEIMAGE_RELEASE_SERIAL); return s_version; }

は、私は完全に立ち往生しています。私は間違って何をしていますか? C/C++ - >一般 - >追加のインクルードされたディレクトリとリンカ - >一般的な関連する.hと.cppファイルに直属の親である特定のフォルダを追加するなど、ライブラリの依存関係を追加する適切な手順に従ったと感じました。 - >追加ライブラリディレクトリ。

何か助けに感謝します!

+0

"さまざまなvcxprojとslnタイルを読み込もうとしました。あなたはそれを明確にすることができますか? VC2010は何を正確に表しましたか? –

+0

VC2010は変換プロセスを行い、完了すると、各プロジェクトが空である一連のプロジェクト(FreeImage、LibPngなど)を含むソリューションが表示されます。ヘッダーもソースもzilchもありません。 しかし、ライブラリフォルダを単純にインクルードしようとすると私に何か提案がありますか?私が述べたように、VCも私にそれに問題を与えています。 –

+0

問題はDLLに関連しているようです(私は新しいC++ユーザーです - 彼らは.jarファイルが好きですか?)。エラーLNK2019のメッセージは実際には "未解決の外部シンボル__imp __ [関数名の挿入]エラーです。__imp__は.dll(C++バージョンの.jarファイルですか?)から関数がインポートされることを意味しています。 のようないくつかの行を参照してください '#ifdefのFREEIMAGE_EXPORTS \tの#define DLL_API __declspec(のdllexport)' 及びこれらのVARSの割り当て方法LNKエラーが 'DLL_API FIBITMAP * DLL_CALLCONVのFXN()' が、私は確認していないように見えましたfxns –

答えて

3

FreeImage v3.15.3を使用すると、VS2008プロジェクトをVS2010に変換する際に問題はありませんでした。 また、建物は予想どおりに機能しました。しかし、私が静的なlibにリンクしたとき、私はいくつかの未解決の外部を持っていました。最初に、私は/ MTリンクを設定するのに役立つトリックを試みましたが、それはこれらのリンクの問題を解決しませんでした。

は、いくつかの初心者さんのコメントを読んだ後、私はfreeimage.hに掘りました。そこでは、関数の呼び出し規約を制御するマクロスイッチFREEIMAGE_LIBが見つかりました。 freeimage.hファイルをインクルードする前に#define FREEIMAGE_LIBを使用してください。そうすれば、FreeImage.libに簡単に静的にリンクすることができます。

関連する問題