将第三方框架添加到gyp配置文件中

时间:2015-10-08 09:42:39

标签: macos chromium gyp

我正在尝试在Mac OS上编译Chromium,并希望在项目中添加第三方框架。

我已将我的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>

我相信这是正确的方法,但编译器给了我一个错误:

致命错误:&#39; TParty / main_header.h&#39;找不到文件

如何修复配置,以便TParty.framework可供编译器使用?

如果我直接导​​入标题,则不会出现错误,如下所示:

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

但是以这种方式导入看起来是不好的做法。

1 个答案:

答案 0 :(得分:0)

尝试使用mac_framework_dirs GYP指令设置框架的路径:

...
   ['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
        ],
      },
    }],
...