[英]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.