1

我尝试通过 node-gyp 和 node-addon-api 编译 node_module。编译没有错误,但我无法从静态库中公开函数。(与最终节点文件一样小于静态库 abc.a)

绑定.gyp

{
    "targets": [
        {
            "target_name": "test",
            "cflags!": [ "-fno-exceptions" ],
            "cflags_cc!": [ "-fno-exceptions" ],
            "sources": [
                "/data/abc.h",
                "main.cpp"
            ],
            'include_dirs': [
                "<!@(node -p \"require('node-addon-api').include\")"
            ],
            'libraries': [
                "/data/abc.a"
            ],
            'dependencies': [
                "<!(node -p \"require('node-addon-api').gyp\")"
            ],
            'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ]
        }
    ]
}

主文件

/* main.cpp */
#include <napi.h>
#include "abc.h"

Napi::Object InitAll(Napi::Env env, Napi::Object exports) {

  return exports;
}

NODE_API_MODULE(testaddon, InitAll)

main.js(用于暴露对象)

const testAddon = require('./build/Release/apostlib');

console.log(testAddon);

module.exports = testAddon;
4

0 回答 0