Установка FLTK для Xcode 7 на OX 10.11

Мой опыт: в настоящее время я самостоятельно изучаю главу 12 книги Бьярна Страуструпа «Принципы программирования и практика с использованием C++», 2-е издание.

Поэтому я пытался установить FLTK.

Первая попытка.

Из того, что я нашел в Интернете, мне нужно было установить его с помощью homebrew, а затем получить к нему доступ из Xcode. Как предложено здесь, здесь и здесь. Однако у Homebrew были проблемы с подключением к определенному веб-сайту. Я бы поделился ошибкой, но теперь, когда я запускаю 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:в 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:в 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:

варить установить fltk

fltk: эта формула либо не компилируется, либо не работает должным образом в версиях OS X, более новых, чем Yosemite, из-за несовместимости с исходным кодом. Ошибка: неудовлетворенное требование привело к сбою этой сборки.

Вторая попытка.

Поэтому я попробовал «fltk-1.3.2/ide/Xcode4», как было предложено здесь и в комментариях здесь. После открытия tar-файла, такого как zip, я следую Readme для OSX. Следующий раздел является наиболее актуальным разделом:

4.3 Настройка FLTK

Запустите Xcode. Откройте файл проекта в

.../fltk-1.3.xxxx/ide/Xcode4/FLTK.xcodeproj

Больше настраивать нечего.

4.4 Строительство ФЛТК

Используйте раскрывающееся меню «Схема», чтобы изменить активную цель на «Демо» и «Мой Mac 32-разрядный» или «Мой Mac 64-разрядный». Выберите «Сборка для» -> «Запуск» «Выполнить» в меню «Продукт», чтобы создать все библиотеки и тестовые приложения.

Это привело к неудачной установке. Поэтому я попытался обновить XCode с 7.1 до 7.3 и попробовал еще раз. Установка по-прежнему не удалась.

Проблемы с установкой.

  1. все файлы в продуктах выделены красным цветом (и не находятся в поисковике), кроме fltk.framework, fltk_png.framework и fltkzlib.framework.
  2. многочисленные ошибки красного и желтого цвета см. здесь для большинства из них.

    Третья попытка.

Я разархивировал новую папку 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

Так что теперь я застрял. Ваша помощь будет высоко оценена.


person Community    schedule 24.03.2016    source источник


Ответы (1)


У меня такая же проблема. Я удалил enum из следующих строк:

    static enum CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
    static enum CGLineJoin fl_quartz_line_join_ = kCGLineJoinMiter;

To:

    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 должен работать.

person galactikuh    schedule 29.07.2016