mac electron引入原生SDK

本文详细介绍如何在Electron环境中搭建Mac SDK集成项目,包括安装必要工具、配置编译环境及构建脚本等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装环境

electron环境搭建:参考 

mac开始第一个electron项目_青春没饭吃的博客-优快云博客

安装node-gyp:npm install node-gyp -g

安装bindings:npm install bindings -g

node-gyp依赖python,所以还要安装python

2、架构搭建

新建sdk/mac目录

test.mm是TestSDK.framework和test_bridge.cc的桥接文件
test_bridge.cc是test.mm和nodejs的桥接文件

framework下放你要用到的SDK

include下放相关头文件

 

 

新建binding.gyp

// 修改module_name
// 修改link_settings下添加你的framework
//


{
    'variables':{
        'module_name': "test",
        'module_mac': "./sdk/mac",
      },
      "targets": [
        {
         'target_name':"<(module_name)",
         "sources": [
            "./sdk/mac/addon/test_bridge.cc",
            "./sdk/mac/addon/test.mm",
          ],
          "include_dirs": [
            "<!@(node -p \"require('node-addon-api').include\")",
          ],
          'mac_framework_dirs':[
                  "./sdk/mac/framework",
                ],
                'link_settings':{
                  'libraries':[
                    "TestSDK.framework",
                  ],
                },
          'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ],
          "cflags!": ["-fno-exceptions"],
          "cflags_cc!": ["-fno-exceptions"],
          "conditions":[
            [
              'OS=="mac"',
              {
                "xcode_settings":{
                  "DEBUG_INFORMATION_FORMAT": "dwarf-with-dsym",
                  "BUILD_DIR":"<(module_mac)",
                  "OTHER_CPLUSPLUSFLAGS" : [ '-ObjC++', "-std=c++11", "-stdlib=libc++",  '-fvisibility=hidden','-frtti'],
                  "OTHER_LDFLAGS": [ "-stdlib=libc++"],
                  "DEPLOYMENT_POSTPROCESSING": "YES",
                },
              }
            ]
          ]

        }
      ]
    }

package.json下添加下面指令,将用到的库拷贝到electron app中去

"postinstall-mac": "rsync -a ./sdk/mac/framework/ ./node_modules/electron/dist/Electron.app/Contents/Frameworks"

新建编译脚本build_addon.sh

npm run postinstall-mac

node-gyp rebuild
cp -Rf ./build/Release/test.node  ./sdk/mac && cp -Rf ./build/Release/test.node.dSYM  ./sdk/mac

最后项目结构如下:

3、运行命令

sh build_addon.sh

有问题的同学可以留言哦

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值