[英]Getting "Symbol Lookup Error" when calling C library from C++ (Node.js Addon)
我正在开发一个 Node.js 插件,该插件需要用 C++ 包装来自C 库<\/a>的对象,以便可以从客户端 JavaScript(用 CoffeeScript 编写)访问它们。
C++ 模块可以编译,但是当我尝试通过 Node.js JavaScript 运行它时,无法调用 C 库并出现
symbol lookup error<\/code> ,我在调试时遇到问题。
错误如下:
node: symbol lookup error: \/var\/lib\/cloud9\/ledscape-wrapper\/wrapper\/build\/Release\/wrapper.node: undefined symbol: ledscape_init<\/code>
wrapper.node<\/code>是编译后的包,
ledscape_init<\/code>是我试图调用的库中的函数。
我试图跟踪代码并在多个文件中找到相关的片段。 我已经放弃了我认为无关紧要的线路。
# "AllFade.coffee"
@ledscape = require "./ledscape.js"
@frames[1] = @ledscape.LedscapeInit()
# "Ledscape.coffee"
wrapper = require "./build/Release/wrapper"
module.exports = wrapper
发生此问题的原因是,实际程序找不到动态库(.so 文件)我建议创建一个动态库并将其添加到当前查找路径中,以便 \/usr\/lib 在 linux
"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.