【问题标题】:Using SFML for Codeblocks C++ appears ERROR library SFMLUsing SFML for Codeblocks C++ 出现 ERROR library SFML
【发布时间】:2020-09-24 03:33:55
【问题描述】:

我尝试在 Codeblocks 上安装 SFML 时遇到问题。好吧,首先我安装代码块: codeblocks-20.03mingw-setup.exe 。在我下载 SFML 2.5.1 之后编译正确:GCC 5.1.0 TDM (SJLJ) - Code::Blocks - 32-bit。

接下来,我提取了 SFML 文件。问题来了,我将“BIN”的内容复制到我的代码块项目中。一个视频可以帮助我完成之前的所有工作,我编写了所有的库:图形、窗口、网络、音频、系统,但什么都没有。我告诉你错误:

cannot find -lsfml-audio-d-2

然后继续网络、窗口、系统、图形

最后:

error: ld returned 1 exit status

怎么了?请帮帮我。解决此问题后,我必须立即使用 CODEBLOCKS 制作视频游戏。非常感谢您的回答。

【问题讨论】:

  • 你的项目配置了吗?

标签: c++ xcode sfml helper video-game-consoles


【解决方案1】:

在 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 版本。这可能会导致许多错误。

有几种方法可以解决您的问题:

  1. 理论上您可以使用您的特定编译器自己编译 SFML,但此选项可能相当复杂。

  2. 您可以使用具有匹配版本的编译器。在 SFML 下载网站上,有一些指向所需编译器的链接。安装编译器后,您必须配置 CodeBlocks 以检测系统上的新编译器(参考:Adding compiler to code::blocks)。现在,为了将 SFML 添加到您的项目中,我建议使用此官方指南: https://www.sfml-dev.org/tutorials/2.5/start-cb.php

  3. 您可以使用像 MSYS2(我个人使用的)这样的环境来拥有一个包管理器来管理您的编译器和库安装。这样,您的编译器安装和您的库应该可以相互配合。但是为了在 CodeBlocks 中使用这个编译器,必须配置 CodeBlocks。

我建议您参考选项 2,因为它可能是最快的解决方案。

如果您还有其他问题,请随时提问。我从个人经验中知道,设置 SFML(或任何其他 C++ 库)以使用您的 IDE 可能非常棘手。

【讨论】:

    猜你喜欢
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多