对impl的未定义引用

时间:2014-10-06 16:20:24

标签: c++ eclipse sfml

我在Eclipse上设置SFML时遇到错误。我完全按照说明操作,但我仍然遇到这些错误。我尝试了TDM SJLJMinGW DW2 - 都提供了不同的未定义引用。

我正在与sfml库动态链接,并且我已正确设置库的路径。

这是我得到的一个:

undefined reference to `_imp___ZN2sf6Window5closeEv' SFMLHelloWorld.cpp /SFMLHelloWorld/src line 15 C/C++ Problem

所有未定义的引用都有前缀_impl。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

正如评论_imp__中所提到的,链接正在寻找导入的功能,这意味着它正在寻找动态库。

由于您只是测试了两个MinGW版本,我假设您不了解它应该如何工作。 MinGW构建不兼容,因此您需要确保您的库是使用您为项目使用的编译器构建的。 SFML网站上的预构建二进制文件是使用较旧的编译器版本构建的,我不建议使用这样的旧编译器。

我建议你让MinGW Builds安装程序接收一个uptodate编译器。接下来,你必须按照official tutorial中的描述使用CMake构建SFML,或者如果你无法正确构建它,你也可以使用我的Nightly Builds of SFML,但你需要确保您使用相同的编译器。