然而另一个链接器错误

时间:2016-01-06 05:50:40

标签: c++ linker-errors sfml

在重新安装不同版本的CodeBlocks,MinGW和SFML一整天后,我终于得到了一个很好的匹配。我使用SFML网站上的main.cpp教程进行测试。不幸的是,只要我尝试使用Texture :: loadFromFile(),就会出现此错误。

||=== Build: Debug in SFML TEST (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\C++\SFML TEST\main.cpp|9|undefined reference to `_imp___ZN2sf7Texture12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_4RectIiEE'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

这是编译器使用的命令:

i686-w64-mingw32-g++.exe -LC:\SFML-2.3.2\lib -o "bin\Debug\SFML TEST.exe" obj\Debug\main.o  -static-libgcc -static-libstdc++ -std=c++11  -lsfml-graphics -lsfml-window -lsfml-system -lsfml-graphics-d -lsfml-window-d -lsfml-system-d -mwindows obj\Debug\main.o

我一直在远程搜索互联网,似乎有一百万不同的人有一百万个不同的问题。谁真的有工作? 无论如何,无论我选择静态/动态,错误都是一样的。我重新检查了4次是否在构建选项中链接不正确,但一切都在那里。

我有SFML 2.3.2,CodeBlocks 13.12和MingW 4.2.0 gcc 5.3.0 谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

来自SFML的可下载库仅提供与MinGW gcc 4.9.2的兼容性,而不是与您使用的5.3.0兼容。考虑通过使用cmake生成工作空间或makefile或考虑使用兼容的编译器版本来自己构建SFML。 您还可以同时链接发布和调试库。一种就足够了。