2015-10-08 3 views
1

Я экспериментирую с компиляцией Chromium на Mac OS и хочу добавить стороннюю структуру к проекту.Добавление сторонней структуры в файлы конфигурации gyp

Я уже добавил мой TParty.framework к chrome_browser.gypi следующим образом:

... 
    ['OS=="mac"', { 
     'dependencies': [ 
     '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac', 
     ... 
     ], 
     'link_settings': { 
     'libraries': [ 
      '../third_party/TParty.framework', 
      '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework', 
      '$(SDKROOT)/System/Library/Frameworks/AddressBook.framework', 
      ... 
     ], 
     }, 
    }], 
... 

Тогда где-то в коде я импортировать заголовок из этой структуры:

#import <TParty/main_header.h> 

Я считаю, что это правильный компилятор, но компилятор дает мне ошибку:

фатальная ошибка: 'TParty/main_header.h' файл не найден

Как исправить конфиги, чтобы TParty.framework стала доступной для компилятора?

Там не будет ошибок нет, если бы я импортировать заголовок непосредственно, как это:

#import "../third_party/TParty.framework/Versions/A/Headers/main_header.h" 

Но импорт этот путь выглядит как плохая практика.

ответ

0

Попробуйте установить путь к каркасу с директивой mac_framework_dirs лавочка:

... 
    ['OS=="mac"', { 
     'dependencies': [ 
     '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac', 
     ... 
     ], 
     'link_settings': { 
     'libraries': [ 
      'TParty.framework', 
      'Accelerate.framework', 
      'AddressBook.framework', 
      ... 
     ], 
     'mac_framework_dirs': [ 
      '../third_party', 
      '$(SDKROOT)/System/Library/Frameworks', # probably the system path is used by default 
     ], 
     }, 
    }], 
... 
+0

Благодаря Pmed. Действительно, в разделе mac_framework_dirs выполняется задание - моя сторонняя структура распознается компилятором. Однако встроенное приложение имеет ошибку при запуске: «сбой при запуске с ошибкой: dyld: библиотека не загружена: @ rpath/TParty.framework/Versions/A/TParty». Будете обрабатывать это самостоятельно. – Mykola