我用g ++编译了我的SFML程序,现在似乎工作正常(之前有问题),但是当我尝试运行结果输出时,我收到以下错误消息:
dyld: lazy symbol binding failed: Symbol not found: __ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE
Referenced from: /Users/fabricecastel/Work/Game_Projects/SFML_tutorials/./a.out
Expected in: /usr/local/lib/libsfml-graphics.2.dylib
dyld: Symbol not found: __ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE
Referenced from: /Users/fabricecastel/Work/Game_Projects/SFML_tutorials/./a.out
Expected in: /usr/local/lib/libsfml-graphics.2.dylib
Trace/BPT trap: 5
我检查了有问题的文件夹,并且没有丢失libsfml-graphics.2.dylib。除此之外,我完全不知道问题是什么,以及我应该如何修复它。在我看来,RenderWindow符号不包含在dylib中,但它应该是。我们在这里谈的是SFML 2.1,而不是一些模糊的业余项目。怎么了?
答案 0 :(得分:0)
我可以重现这些错误的唯一方法是GCC and Clang version of SFML混合时。以下是两个产生相同错误的过程。
当您安装另一个运行时,您需要从头开始仔细地重建您的应用程序。也就是说,在编译之前删除最终的二进制文件以及任何.o
文件。