7

Visual Studio 2010でSOILを正しく機能させることができません – VSの専門家からはほど遠いですが、私が知る限り、環境を機能させるために必要な手順は次のとおりです。

プロパティ>>C/C++>一般>>追加のインクルードディレクトリSOIL.hへのパスを追加します

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

また、無料のGLUTを使用しており、glutファイルへのパスもここで設定されています。Dubugging>>EnvironmentPathもGLUTbinファイルに設定されています。

SOIL_load_OGL_textureを使用すると、次のエラーが発生します。

エラーLNK2019:関数 "void __cdecl init(void)"(?init @@ YAXXZ)で参照されている未解決の外部シンボル_SOIL_load_OGL_texture

libSOIL.aの名前をlibSOIL.libとSOIL.libに変更しようとしましたが、機能しませんでした。次に、VC8プロジェクトをビルドし、ここで提案されているようにその.libを使用しました。SOILは 正しくリンクされていませんが、それも機能しませんでした。

私は彼らのホームページからサンプルコードを使用しています

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() );
}
4

2 に答える 2

5

実際にSOIL.libProperties -> Linker -> Input -> Additional Dependenciesリストに入れていないようです。

FreeGLUT ヘッダーには、適切なファイルを取り込むためのWin32 固有#pragmaがいくつかあります。SOIL にはそれらがないため、どちらを使用するかをリンカーに明確に伝える必要があります。.libAdditional Library Directories.lib

于 2012-10-22T14:07:59.693 に答える