在 OX 10.11 上为 Xcode 7 安装 FLTK
Posted
技术标签:
【中文标题】在 OX 10.11 上为 Xcode 7 安装 FLTK【英文标题】:Installing FLTK for Xcode 7 on OX 10.11 【发布时间】:2016-03-24 06:57:04 【问题描述】:我的背景,我目前正在自学 Bjarne Stroustrup 的第 12 章,编程原理和使用 C++ 的实践,第 2 版。
所以我一直在尝试安装 FLTK。
第一次尝试。
根据我在网上找到的内容,我需要使用自制软件安装它,然后从 Xcode 访问它。正如建议的here、here 和here。但是 Homebrew 在连接到特定网站时遇到问题。我会分享错误,但现在当我运行自制软件时,我得到了一个不同的错误(因为我在第二次尝试期间更新了 xcode)。
require': cannot load such file -- mach (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
require' 来自 /usr/local/Library/Homebrew/extend/pathname.rb:2:in<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
require' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /usr/local/Library/Homebrew/global.rb:3:in
' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
require' 来自 /usr/local/Library/brew.rb:15:in `'
更新:
重新安装自制软件。运行 brew install fltk:
brew 安装 fltk
fltk:此公式在 OS X 上无法编译或按预期运行 由于上游不兼容,版本比 Yosemite 更新。 错误:未满足的要求使此构建失败。
第二次尝试。
所以我按照建议 here 和 cmets here 尝试了“fltk-1.3.2/ide/Xcode4”。在像 zip 一样打开 tar 文件后,我按照 OSX 的自述文件进行操作。以下部分是最相关的部分:
4.3 配置FLTK
启动 Xcode。在
中打开项目文件.../fltk-1.3.xxxx/ide/Xcode4/FLTK.xcodeproj
没有其他需要配置的。
4.4 构建 FLTK
使用“方案”下拉菜单将活动目标更改为“演示” 和“我的 Mac 32 位”或“我的 Mac 64 位”。选择“构建”-> “产品”菜单中的“运行”运行以创建所有库和 测试应用程序。
这导致安装失败。所以我尝试将 XCode 从 7.1 更新到 7.3 并再次尝试。安装仍然失败。
安装问题。
-
除了 fltk.framework、fltk_png.framework 和 fltkzlib.framework 之外,Products 中的所有文件都是红色的(并且不在 finder 中)。
红色和黄色的许多错误请参阅here 了解其中的大部分。
第三次尝试。
我解压了一个新的 FLTK 文件夹,然后运行 make。这导致了以下错误。
fl_line_style.cxx:38:13:错误:详细类型指的是 typedef 静态枚举 CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h:33:26:
注意:
declared here typedef CF_ENUM(int32_t, CGLineCap) ^ fl_line_style.cxx:39:13: error: elaborated type refers to a typedef static enum CGLineJoin fl_quartz_line_join_ =
kCGLineJoinMiter;
^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h:25:26:
注意:
declared here typedef CF_ENUM(int32_t, CGLineJoin) ^ fl_line_style.cxx:113:15: error: elaborated type refers to a typedef static enum CGLineCap Cap[4] =
kCGLineCapButt,kCGLineCapButt,
^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h:33:26:
注意:
declared here typedef CF_ENUM(int32_t, CGLineCap) ^ fl_line_style.cxx:115:15: error: elaborated type refers to a typedef static enum CGLineJoin Join[4] =
kCGLineJoinMiter, kCGLineJoinMiter,
^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPath.h:25:26:
注意:
declared here typedef CF_ENUM(int32_t, CGLineJoin) ^ 4 errors generated. make[1]: * * * [fl_line_style.o] Error 1 make: * * * [all] Error 1
所以现在我被困住了。非常感谢您的帮助。
【问题讨论】:
【参考方案1】:我遇到了同样的问题。我从以下几行中删除了枚举:
static enum CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
static enum CGLineJoin fl_quartz_line_join_ = kCGLineJoinMiter;
收件人:
static CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
static CGLineJoin fl_quartz_line_join_ = kCGLineJoinMiter;
这些行也应该是这样的:
static CGLineCap Cap[4] = kCGLineCapButt, kCGLineCapButt,
kCGLineCapRound, kCGLineCapSquare ;
static CGLineJoin Join[4] = kCGLineJoinMiter, kCGLineJoinMiter,
kCGLineJoinRound, kCGLineJoinBevel ;
然后 make 应该可以工作了。
【讨论】:
以上是关于在 OX 10.11 上为 Xcode 7 安装 FLTK的主要内容,如果未能解决你的问题,请参考以下文章
CocoaPods安装卸载使用说明(Mac ox 10.11+)
在 Win 7或8 下使用 VirtualBOX 虚拟机安装 OS X 10.11 El Capitan 及 Xcode 7.0
未在 iOS 10 上为基于 XCode 7.3 构建的应用程序生成设备令牌