在 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:inrequire' 来自 /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:inrequire' 来自 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' 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:in require' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire' 来自 /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 构建的应用程序生成设备令牌

应用程序崩溃整个设备在Segue上为iOS 9 + Xcode 7

OS X 10.11系统下cocoaPods安装注意事项

如何在 mac osx 10.11 El Capitan 上安装 php 7.4 版? [复制]