我已经尝试安装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。
仅今天一天,我就一帧一帧地复制了以下视频。https:/www.youtube.comwatch?v=_9yem5dJt2E毫无进展.我快绝望了.谢谢.
似乎你的链接器有问题。确保你已经为正确的架构平台链接了正确的文件和它们的依赖关系(当然,顺序正确)。也就是说,可能是你下载的SFML版本与你使用的编译器不匹配。你可以随时重新检查,或者自己从源码中构建SFML.如果你不想经历这些,那么我在GitHub上有一个SFML与VS2019的模板。
如果你想不通的话,就看一下readme.另外,就像有人提到的,我觉得你应该多研究一下编译器和链接器的工作原理。IDE绝对会让它看起来比实际情况更容易。