我正在开发一个节点插件,但在使用 node-gyp 构建后查找库时出现错误。
这是我的 binging.gyp 文件:
{
"targets": [{
"target_name": "xaddon",
"cflags!": [ "-fno-exceptions" ],
"cflags_cc!": [ "-fno-exceptions" ],
"sources": [
"cppsrc/main.cc"
],
'include_dirs': [
"<!@(node -p \"require('node-addon-api').include\")", "lib"
],
"libraries": ["<(module_root_dir)/lib/xaddon.so"],
'dependencies': [
"<!(node -p \"require('node-addon-api').gyp\")"
],
'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ]
}]
}
Run Code Online (Sandbox Code Playgroud)
这正确构建,如果我将 so 文件放在项目的根文件夹中,则一切正常。但我想在 lib 文件夹中运行一个包含文件的项目。
这是我尝试在 lib 文件夹而不是根文件夹中运行项目 so 文件时出现的错误。
Error: dlopen(#PATH_TO_PROJECT#/build/Release/xaddon.node, 1): Library not loaded: xaddon.so
Referenced from: #PATH_TO_PROJECT#/build/Release/xaddon.node
Reason: image not found
Run Code Online (Sandbox Code Playgroud)