我的背景,我目前正在学习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
需要&#39; 来自/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
要求&#39; 来自/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
&#39; 来自/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
要求&#39; 来自/usr/local/Library/brew.rb:15:in“&#39;
更新:
重新安装自制软件。跑了brew install fltk:
brew install fltk
fltk:这个公式要么在OS X上没有按预期编译或运行 由于上游不兼容,比Yosemite更新的版本。 错误:此构建未满足要求失败。
第二次尝试。
所以我尝试了#34; fltk-1.3.2 / ide / Xcode4&#34;建议here和评论here。在按照OSX自述文件打开tar文件之后就像拉链一样。以下部分是最相关的部分:
4.3配置FLTK
启动Xcode。在
中打开项目文件... / FLTK-1.3.xxxx / IDE / Xcode4 / FLTK.xcodeproj
没有其他配置。
4.4建立FLTK
使用&#34; Scheme&#34;下拉菜单将活动目标更改为&#34; Demo&#34; 和#34;我的Mac 32位&#34;或者&#34;我的Mac 64位&#34;。选择&#34; Build for&#34; - &GT; &#34;运行&#34;运行&#34;来自&#34;产品&#34;菜单来创建所有库和 测试应用程序。
这导致安装失败。所以我尝试将XCode从7.1更新到7.3并再次尝试。安装仍然失败。
安装问题。
红色和黄色的大量错误,大多数都会看到here。
第三次尝试。
我解压缩了FLTK的新文件夹,然后运行make。这导致了以下错误。
fl_line_style.cxx:38:13:错误:详细类型是指typedef static enum 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
所以现在我被卡住了。非常感谢您的帮助。
答案 0 :(得分:0)
我遇到了同样的问题。我从以下行中删除了枚举:
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应该工作。