2012-10-22 14 views
7

Visual Studio 2010で正しく動作するSOILを取得できません - 私はVSのエキスパートではありませんが、私の知る限り、環境を稼働させるには次の手順が必要です。Visual Studio 2010のSOILセットアップ

プロパティ>> C/C++>全般>>追加のインクルードディレクトリ SOIL.h

プロパティへのパスに追加>>リンカ>>一般>>追加のライブラリディレクトリ はlibSOIL.aへのパスに追加します。

私も無料のGLUTを使用していますが、glutファイルへのパスはここで設定されています。私はまた、GLUTビンファイルへの環境設定パスを設定しています。

私はSOIL_load_OGL_textureを使用すると、私は次のエラーを取得:

エラーLNK2019:機能 "無効__cdeclのinit(無効)" で参照未解決の外部シンボル_SOIL_load_OGL_texture(INIT @@ YAXXZ?)の名前を変更しようとしました

をlibSOIL.aをlibSOIL.libとSOIL.libにコピーしましたが、動作しませんでした。私はその後、VC8プロジェクトを構築し、その.libをここに示唆したように使用しました SOIL not linking correctlyしかし、それもうまくいきませんでした。

私はあなたが実際にあなたのProperties -> Linker -> Input -> Additional DependenciesリストにSOIL.libを入れていなかったようですね自分のホームページから

GLuint tex_2d; 
tex_2d = SOIL_load_OGL_texture 
    (
     " C:\\Sunset.png", 
     SOIL_LOAD_AUTO, 
     SOIL_CREATE_NEW_ID, 
     SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT 
    ); 

/* check for an error during the load process */ 
if(0 == tex_2d) 
{ 
    printf("SOIL loading error: '%s'\n", SOIL_last_result()); 
} 

答えて

5

をサンプルコードを使用しています。

FreeGLUTヘッダーには、適切な.libファイルをプルするためにいくつかのWin32-specific #pragmasがあります。そのため、Additional Library Directoriesを設定するだけです。 SOILにはそれらがないので、.libが使用するリンカーに具体的に伝える必要があります。

+0

ありがとうございます - 完璧な作品です。私は別の質問をしていることを知っていますが、あなたはリンカとその全領域について学ぶ良い場所を知っていますか?(特に基本から始まるネット上で良い場所を見つけるのは難しいです) –

+0

特にありません。ほとんどの場合、私は[Wikipedia:Linker(computing)](http://en.wikipedia.org/wiki/Linker_%28computing%29)で始まり、あなたの好奇心がどこに行くのかを知ります:) – genpfault

+0

ありがとう手伝い! –

7

少し古いスレッドかもしれませんが、まだ私は何かを共有します。

  1. http://www.lonesock.net/soil.htmlからジップをダウンロードして解凍します。

  2. ビジュアルスタジオプロジェクトインクルードパス(プロジェクト - >プロパティ - > vC++ディレクトリ - >インクルードディレクトリ)で、Soilの "src"フォルダへのパスを追加します。 - >ライブラリディレクトリと同じ場所に "lib"フォルダが追加されています。 プロジェクト - >プロパティ - >リンカー - >入力 - >追加の依存関係 - > "SOIL.lib"を追加する編集

  3. この手順は、.aファイルの名前を.libに変更する傾向があるため重要です。それをしないでください。代わりに "projects"フォルダの中に入ってVC *(例えばVS2012のVC8) - >ビジュアルスタジオファイルを開く - >ビジュアルスタジオを使って開きます - > OKをクリック - > OKをクリックします。あなたのソリューションはReadyになります。

ここで、F5/Runを押してビルドして実行します。あなたのプロジェクトがx64のデバッグバージョンを使用している場合には注意してください。ここでは、ソリューションをビルドする前に同じものを選択してください。

  1. VC *フォルダにフォルダ/ファイルが作成されます。 Debug/x64(プロジェクトに依存する)の中に入り、SOIL.libファイルを元の "lib"フォルダにコピーします(手順2のVisual Studioのプロパティを参照)。

この時点で完了です。それは動作するはずです。

+1

私は本当にこのAPIが好きです:P。助けてくれてありがとう。 –

+0

イメージからテクスチャを描画するだけの場合は、OpenCVを使用してイメージを読み込んで描画することもできます。この場合、正確なイメージデータ型を知る必要があります。 – SanD

関連する問題