试图让我的游戏在VC 2010中运行,似乎无法链接SOIL库,不知道如何链接,包括游戏源代码

Trying to get my game running in VC 2010, can't seem to link SOIL library, don't know how to link, game source code included

本文关键字:链接 游戏 不知道 SOIL 包括 源代码 何链接 我的 VC 2010 运行      更新时间:2023-10-16

我已经使用CodeBlocks有一段时间了,因为我用c++做了一个小游戏。遇到一个障碍,即我想在任何时候看到数组中所有数据的当前值,CodeBlocks似乎没有这种能力。同事(专业游戏程序员)告诉我应该使用Visual Studio。

我以前使用过Visual Studio c#,在调试我制作的其他小游戏时使用断点非常方便,然后通过大列表查看特定的数组值或当时我的程序中的任何其他值。

所以我在VC2010中创建了一个新的空白项目,并将我所有的代码文件添加到项目中。我知道我必须连接图书馆等等,我花了几个小时想办法做到这一点。但即使完成了所有这些,我仍然得到链接错误(我认为)

第一个问题是:

fatal error C1083: Cannot open include file: 'glglext.h': No such file or directory

所以我把它注释掉,看看还能写多少

最后不得不添加到我的main.cpp文件

#pragma comment (lib, "opengl32.lib")
#pragma comment (lib, "glu32.lib")
#pragma comment (lib, "libsoil.lib")

我最终复制了libsoil。. a文件到C:Program FilesMicrosoft Visual Studio 10.0VClib中,并将其重命名为libsoil。lib(如作者网站http://www.lonesock.net/soil.html所述)

现在我编译

时会得到这个
1>libsoil.lib(stb_image_aug.o) : error LNK2019: unresolved external symbol ___chkstk referenced in function _stbi_zlib_decode_noheader_buffer
1>libsoil.lib(image_helper.o) : error LNK2019: unresolved external symbol _sqrtf referenced in function _RGBE_to_RGBdivA2
1>C:RepositoriesHappyHelperPuppyCppVerHappyHelperPuppyDebugHappyHelperPuppy.exe : fatal error LNK1120: 2 unresolved externals

. .我不知道接下来要做什么。我花了很长时间在谷歌和论坛上,我真的不知道该做什么。

所以作为最后的努力,我正在压缩我所有的代码和项目文件,让任何有兴趣的人看看,看看他们是否能找到一个解决方案。这款游戏并没有任何我想要保密的秘密功能,所有的图像都是来自多年前的公开游戏竞赛("TIGSource Assembly"对于那些知道它是什么的人来说是什么)或来自DeviantArt(只是想在我制作它的时候看看,不会是最终的游戏发行图像)

代码/游戏可以在这里找到http://users.on.net/~infernoraven/hhp_busted_code.zip (27mb)

SOIL库应该位于主目录下的SOIL .zip

任何帮助都会很好,但我只是变得非常沮丧,因为我似乎花了大部分时间与IDE/编译器或一些恼人的语法问题作斗争。

CodeBlocks项目文件也应该在那里,所以如果你…

  • 取消注释 gleext .h
  • 链接到SOIL
  • 链接libopengl32和libglu32

希望它能为你编译。否则,应该有一个HappyHelperPuppy.exe它是由CodeBlocks预编译的,应该运行并让你知道应该发生什么


在SOIL包中有许多visual studio的项目文件。当我尝试加载VC9一个并将其转换为VC10时,我得到转换错误。

Conversion Report - SOIL.vcproj: 
Converting project file 'C:Documents and SettingsAdministratorMy DocumentsDownloadssoilSimple OpenGL Image LibraryprojectsVC9SOIL.vcproj'. 
Failed to upgrade platform 'x64'. Please make sure you have it installed under '%vctargetspath%platformsx64' 
VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings. 
Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion. 
Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion. 
Failed to upgrade 'Debug|x64'. Please make sure you have the corresponding platform installed under '%vctargetspath%platformsx64' 
The project configuration dimension name/value "(Platform, Win32)" was not found in the project manifest. 
Project upgrade failed. 

如果我使用VC8项目文件并尝试升级它,一个libSOIL。VC2010抛出一个错误,说"无法启动程序…"土壤。指定的文件是无法识别或不支持的二进制格式"

但是作者在他的站点上说我可以简单地重命名libSOIL。一个文件到libSOIL。

soil.zip文件包含projects文件夹下的一些.sln文件。使用适当的.sln文件构建库,然后将项目链接到该库。