对impl的未定义引用
Undefined reference to impl
我在Eclipse上设置SFML时遇到错误。我完全按照指示操作,但我仍然会犯这些错误。我尝试过TDM SJLJ和MinGW DW2,它们都给出了不同的未定义引用。
我正在与sfml库动态链接,并且我已经正确地设置了库的路径。
这是我得到的一个:
undefined reference to `_imp___ZN2sf6Window5closeEv' SFMLHelloWorld.cpp /SFMLHelloWorld/src line 15 C/C++ Problem
所有未定义的引用都有前缀_impl
。我该如何解决这个问题?
如注释中所述,_imp__
表示链接正在查找导入的函数,这意味着它正在查找动态库。
由于您只是简单地测试了两个MinGW版本,我想您不明白它应该如何工作。MinGW构建是不兼容的,因此你需要确保你的库是用你在项目中使用的编译器构建的。SFML网站上预先构建的二进制文件是用旧的编译器版本构建的,我不建议使用这样旧的编译器。
我建议您让MinGWBuilds安装程序接收最新的编译器。接下来,您必须按照官方教程中的描述使用CMake构建SFML,或者如果您无法正确构建,您也可以使用我的SFML Nightly Builds,但您需要再次确保使用相同的编译器。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中