在SFML C++中构建错误

问题描述 投票:0回答:1

我已经尝试安装SFML好几个月了,但毫无进展。今天我决定再试一次.一开始它甚至没有找到SFML\graphics.hpp include文件,但我终于解决了这个问题.现在我得到了一个新的错误.当编译下面的代码时,我得到了一堆错误.下面是代码。

#include <SFML\Graphics.hpp>

int main() {
    int window_width = 640;
    int window_height = 480;

    sf::RenderWindow window(sf::VideoMode(window_width, window_height), "SFML Tutorial");

    while (window.isOpen()) {
        // handle events

        // update game logic

        window.clear();

        // draw objects

        window.display();
    }

    return 0;
}

以下是错误:Severity Code Description Project File Line Suppression StateError LNK2019 unresolved external symbol "__declspec(dllimport) public: __thiscall sf::String::String(char const *,class std::locale const &)"(__imp_??0String@sf@@QAE@PBDABVlocale@std@@@Z)引用于函数_main SFML Template C:\Users\theyo\Desktop\SFML\SFML Template\SFML Template.obj 1中。

严重性代码描述项目文件行抑制StateError LNK2019未解决外部符号"__declspec(dllimport) public: __thiscall sf::String::~String(void)"(__imp_??1String@sf@@QAE@XZ)在函数_main SFML Template C:\Users\theyo\Desktop\SFML\SFML Template\SFML Template.obj 1中引用。

其实我收到的太多了,无法放到这个帖子里,我也不知道从哪里找一个日志文件给你.我知道可能没有人能够帮到你,但是请你如果理解的话,那么尽量帮到你。

我还得到6个这样的警告:Severity Code Description Project File Line Suppression StateWarning LNK4272 library machine type 'x64' conflicts with target machine type 'x86' SFML Template C:\Users\theyo\Desktop\SFML\External Libraries\SFML\lib\sfml-graphics-d.lib 1。

  • SFML中每个库文件都有一个。

仅今天一天,我就一帧一帧地复制了以下视频。https:/www.youtube.comwatch?v=_9yem5dJt2E毫无进展.我快绝望了.谢谢.

c++ build graphics visual-studio-2019 sfml
1个回答
0
投票

似乎你的链接器有问题。确保你已经为正确的架构平台链接了正确的文件和它们的依赖关系(当然,顺序正确)。也就是说,可能是你下载的SFML版本与你使用的编译器不匹配。你可以随时重新检查,或者自己从源码中构建SFML.如果你不想经历这些,那么我在GitHub上有一个SFML与VS2019的模板。

SFMLVS2019Template

如果你想不通的话,就看一下readme.另外,就像有人提到的,我觉得你应该多研究一下编译器和链接器的工作原理。IDE绝对会让它看起来比实际情况更容易。

© www.soinside.com 2019 - 2024. All rights reserved.