Я работаю над модулем оболочки Node.js для библиотеки C коллег. Библиотека создается в форме Shared Object (.so) для динамического связывания.
Мой файл модуля CPP начинается с
#include "path/to/lib/source/lib.h"
и построен со следующим wscript
def set_options(ctx):
ctx.tool_options('compiler_cxx')
def configure(ctx):
ctx.check_tool('compiler_cxx')
ctx.check_tool('node_addon')
ctx.env.append_value('LINKFLAGS', ['-l:lib.so', '-L/path/to/lib.so/'])
def build(ctx):
t = ctx.new_task_gen('cxx', 'shlib', 'node_addon')
t.source = ['module.cpp']
t.target = 'module'
Когда я продолжаю вызывать мой модуль, который, в свою очередь, вызывает библиотеку, я получаю следующую ошибку:
node: symbol lookup error: <path/to/module.node>:
undefined symbol: <name of library call>
Я попытался сбросить зависимости модуля с помощью 'ldd module.node', и у меня возникло некоторое подозрение, поскольку в нем не упоминается мой файл .so.
Любая помощь очень ценится!