【问题标题】:undefined reference when building C++ project using SFML使用 SFML 构建 C++ 项目时未定义的引用
【发布时间】:2016-12-19 08:27:59
【问题描述】:

是的,已经有一些关于此的 SO 帖子 - 但是它们并没有帮助我解决我的问题。

几天前我已经发布了一个与 SFML 相关的question - 我的项目不能包含头文件,或者至少我是这么认为的。我已将问题标记为已回答,因为项目编译得很好,但愚蠢的我并没有尝试真正 Build 项目,这涉及到链接过程。

问题是我在尝试链接时收到以下错误:

在函数AudioUtils::playSound(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': somepath: undefined reference to__imp__ZN2sf11SoundBuffer12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'

SFML 库中使用的字符串类似乎与我使用的不同。如果由于编译器版本不同而出现此问题,那么我可以向您保证版本是相同的。

还值得一提的是,我正在使用 CLion 进行开发。

那么究竟是什么导致了这个问题,我们该如何解决呢?

【问题讨论】:

  • 您是自己编译 SFML 还是下载了使用您的编译器编译的版本?
  • @nvoigt 我已经下载了针对 mingw-64 编译的最新版本
  • 那么你使用的是同一个版本的mingw-64吗?
  • @LightnessRacesinOrbit 是的,我是。
  • 执行cmake时变量SFML_LIBRARIES的内容是什么?

标签: c++ cmake mingw sfml clion


【解决方案1】:

我已经设法解决了这个问题 - 这是一个非常简单但愚蠢的错误:

我忘记使 CMake 的缓存失效/重新加载,导致编译器版本不一样的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2013-12-26
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    相关资源
    最近更新 更多