【问题标题】:What is the correct way to call a .dll library with namespaces in Node?在 Node 中调用具有命名空间的 .dll 库的正确方法是什么?
【发布时间】:2020-11-18 23:37:59
【问题描述】:

我有附加错误,我认为这是因为库位于命名空间中。我试过 ffi 和 ffi-napi:

这是使用 Microsoft Visual Studio 打开的库: Open library from Microsoft Visual Studio

 throw new Error('Dynamic Symbol Retrieval Error: ' + this.error())
    ^

Error: Dynamic Symbol Retrieval Error: Win32 error 127
    at DynamicLibrary.get (d:\pruebas\leerdll\prueba-ffi\node_modules\ffi\lib\dynamic_library.js:112:11)
    at d:\pruebas\leerdll\prueba-ffi\node_modules\ffi\lib\library.js:50:19
    at Array.forEach (<anonymous>)
    at new Library (d:\pruebas\leerdll\prueba-ffi\node_modules\ffi\lib\library.js:47:28)
    at Object.<anonymous> (d:\pruebas\leerdll\prueba-ffi\index.js:6:16)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)

正确的称呼方式是什么?

【问题讨论】:

  • 请将代码作为文本包含在问题中,而不是图像。

标签: javascript node.js dll dllimport ffi


【解决方案1】:

它不是看不到 DLL 或其命名空间,而是看不到函数,因为您使用的是托管代码 (C#)。因此,这里的解决方案是使用 DllExport 工具 (github) 公开该库中的函数,您可以阅读他们的入门指南wiki 以获取有关如何实现它的更多信息。

【讨论】:

    猜你喜欢
    • 2019-09-27
    • 2015-11-29
    • 2010-09-22
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2015-09-01
    • 2017-12-23
    相关资源
    最近更新 更多