Я пытаюсь построить привязку NodeJS lzham, но я все время получаю ошибки symbol lookup error: [...] undefined symbol: [...]
всякий раз, когда пытаюсь вызвать функцию из lzham.Ошибка поиска символа во время выполнения
Я включил lzham так:
#define LZHAM_DEFINE_ZLIB_API
#include "lzham_static_lib.h"
И мой binding.gyp
файл выглядит следующим образом:
{
"targets": [
{
"target_name": "lzham",
"sources": [
"lzham.cc"
],
"include_dirs": [
"<!(node -e \"require('nan')\")",
"lzham/include",
"lzham/lzhamdecomp",
"lzham/lzhamcomp",
],
},
]
}
Я компиляции на Linux.
var lzham = require('./build/Release/lzham.node'),
buffer = require('fs').readFileSync('compressed');
lzham.decompress(buffer);
Этот код вызывает функцию, определенную в C++, что в свою очередь вызывает lzham_z_inflateInit2
, производя эту ошибку:
node: symbol lookup error: /node-lzham/build/Release/lzham.node: undefined symbol: lzham_z_inflateInit2
Можете ли вы показать полный текст ошибки? –
Я отредактировал мой вопрос. –