我尝试在Codeblocks上安装SFML时遇到问题。好吧,首先我安装代码块:codeblocks-20.03mingw-setup.exe。在我下载SFML 2.5.1:GCC 5.1.0 TDM(SJLJ)-代码::块-32位之后,该编译正确。
以下,我提取了SFML文件。问题出在我的代码块项目中,复制了“ BIN”的内容。视频帮助我完成了所有工作,然后编写了所有库:图形,窗口,网络,音频,系统但没有。我告诉你错误:
cannot find -lsfml-audio-d-2
并继续使用网络,窗口,系统,图形
结尾处:
error: ld returned 1 exit status
怎么了?请帮帮我。解决此问题后,我必须立即使用CODEBLOCKS制作视频游戏。非常感谢您的回答。
在SFML下载网站(https://www.sfml-dev.org/download/sfml/2.5.1/)上显示:The compiler versions have to match 100%!
[CodeBlocks 20.03 MinGW安装包括GCC编译器的8.1.0版本(如下载页面上所述:http://www.codeblocks.org/downloads/26。]
因此,您下载的SFML版本仅适用于GCC 5.1.0版,但您具有8.1.0版。这可能会导致许多错误。
有几种方法可以解决您的问题:
理论上,您可以使用特定的编译器自己编译SFML,但是此选项可能非常复杂。
您可以使用具有匹配版本的编译器。在SFML下载网站上,有一些指向所需编译器的链接。安装编译器后,您将必须配置CodeBlocks来检测系统上的新编译器(参考:Adding compiler to code::blocks)。现在,为了将SFML添加到您的项目中,我建议使用此官方指南:https://www.sfml-dev.org/tutorials/2.5/start-cb.php
您可以使用MSYS2之类的环境(我个人使用过)来使程序包管理器管理您的编译器和库的安装。这样,您的编译器安装和您的库应该可以相互配合。但是为了在CodeBlocks中使用此编译器,必须配置CodeBlocks。
我建议您参考选项2,因为它可能是最快的解决方案。
随时询问您是否还有其他问题。从个人经验中我知道,设置SFML(或任何其他C ++库)以与您的IDE配合使用可能会非常棘手。