在XCode中构建时出现FreeType错误
FreeType error when building in XCode
先讲一些背景故事:
我不知道我在做什么。
那是骗人的,我知道我在做什么。我是一名web开发人员,所以看代码并不全是胡言乱语,但尝试使用Xcode对我来说是一本新书。无论如何,我设计了一个游戏,在Windows上使用SFML用c++编译,现在我们正试图把它带到OS X(我是团队中唯一一个有Mac的人)。使用Xcode 4.6.1和SFML 2.0我一直试图得到这个该死的应用程序的构建,到目前为止,它只是头疼。让这个东西工作的当前状态不是那么糟糕,它最终构建没有错误,但构建停止,这显示:
dyld: Library not loaded: @executable_path/../Frameworks/freetype.framework/
Versions/A/freetype
Referenced from: /Users/Eric/Library/Developer/Xcode/DerivedData/
Test-haconqzbewevbwgukppsacykkpml/Build/Products/Debug/Test.app/
Contents/Frameworks/sfml-graphics.framework/Versions/2.0.0/sfml-graphics
Reason: Incompatible library version: sfml-graphics requires version 17.0.0 or
later, but freetype provides version 16.0.0
我不明白这个错误。我用的是最新版本的FreeType。考虑到FreeType是2.4.11,我甚至不确定这个版本号指的是什么。我似乎在其他地方也找不到这个错误,有什么想法吗?
错误消息中提到的版本号是指库的兼容性版本。这是在构建给定动态库时嵌入的版本号。当另一个二进制文件链接到该库时,兼容性版本被复制到LC_LOAD_DYLIB
load命令中,该命令在运行时告诉dyld
需要加载哪些动态库。当dyld
加载库时,检查兼容性版本,如果程序的版本大于库的版本,则为错误。
当您运行otool -L freetype.framework/Versions/A/freetype
时,您将看到它报告其兼容性版本为16.0.0
。如果您在sfml-graphics.framework/Versions/2.0.0/sfml-graphics
上运行它,您将看到它报告17.0.0
与freetype.framework
的兼容版本。所以你遇到了上面描述的错误情况。
出现这种错误的最常见原因是,应用程序运行在比构建它的版本更旧的框架上,以及任何链接的框架上。请注意,这里的"旧"指的是兼容版本,而不是与框架相关的任何其他版本号(例如,营销版本)。
如果不知道所涉及的两个框架的起源(例如,如果您自己构建它们,或者您从哪里获得二进制文件),则不完全清楚您哪里出错了。然而,我要注意的是,SFML git存储库似乎有一个freetype.framework
版本与适当的兼容性版本(17.0.0
),所以如果你使用的是SFML人员提供的sfml-graphics.framework
二进制文件,那么选择他们的FreeType框架可能是你的解决方案。
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 在某些循环内使用vector.push_back时出现分段错误
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 致命错误:freetype/config/ftheader.h
- 在XCode中构建时出现FreeType错误