Opengl + SDL链接错误

时间:2012-10-20 04:33:58

标签: c++ opengl sdl

我正在尝试使用Visual Studio 2010中的C ++将图像作为纹理加载到纹理中。我在网上研究了几个小时并找到了SDL库,然后我实现了一个简单的例子并得到了一些链接错误我似乎无法理解弄清楚。错误日志在这里:

1>Build started 10/20/2012 12:09:17 AM.
1>InitializeBuildStatus:
1>  Touching "Debug\texture mapping test.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  texture mapping test.cpp
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>texture mapping test.obj : error LNK2019: unresolved external symbol _IMG_Load referenced in function "void __cdecl display(void)" (?display@@YAXXZ)
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:\Users\Me\Documents\Visual Studio 2010\Projects\Programming projects\texture mapping test\Debug\texture mapping test.exe : fatal error LNK1120: 2 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:02.45
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我下载了SDL,并将所有.h文件复制到:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include

我将.lib(x86)文件添加到:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib

(注意:我也尝试了(x64)文件,但得到了完全相同的错误)

将.dll(x86)改为:

C:\Windows\System32

为了实现纹理,我使用了来自SDL Tip - SDL Surface to OpenGL Texture

的简单示例代码

3 个答案:

答案 0 :(得分:3)

确保您将两者与sdl.lib和sdlmain.lib相关联。

此外,您似乎正在使用SDL_Image。您还应该尝试与sdl_image.lib链接以修复两个错误中的第一个错误。

答案 1 :(得分:0)

您是否在配置管理器下检查了正确的活动解决方案平台?

答案 2 :(得分:0)

在项目目录中创建一个文件夹,然后尝试使用链接器设置连接到这些文件。这就是我发生此错误时所做的。还要确保使用相同的sdl lib类型(x86或x64)进行编译。