首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Node中使用第三方dll、头文件和lib文件

如何在Node中使用第三方dll、头文件和lib文件
EN

Stack Overflow用户
提问于 2018-06-05 20:23:01
回答 1查看 2.5K关注 0票数 6

我已经获得了使用c++ dll的所有适当文件:

  • 头文件
  • lib文件
  • 动态链接库

我试图在给定的文件中使用节点,以便我们可以在节点服务器中使用这个c++ dll。

问题是,当我尝试使用node构建时,它会抛出以下错误:

代码语言:javascript
复制
LINK : fatal error LNK1181: cannot open input file 'lib\MathUtils.lib' [C:\Development\Github\node-thin-client\service\build\interface.vcxproj]

我使用的节点版本是: 8.11.2

node版本是: 3.6.2

我的binding.gyp文件如下:

代码语言:javascript
复制
{
  "variables": {
    "dll_files": [
      "lib/MathUtils.dll"
    ]
  },
  "targets": [
    {
      "target_name": "interface",
      "sources": [
        "src/interface/interface.cpp"
      ],
      "include_dirs": [
        "<!@(node -p \"require('node-addon-api').include\")",
        "include"
      ],
      "dependencies": [
        "<!(node -p \"require('node-addon-api').gyp\")"
      ],
      "libraries": [
        "lib/MathUtils.lib"
      ],
      "cflags!": ["-fno-exceptions"],
      "cflags_cc!": ["-fno-exceptions"],
      "defines": ["NAPI_CPP_EXCEPTIONS"]
    }
  ]
}
EN

回答 1

Stack Overflow用户

发布于 2019-01-25 16:01:42

我遇到了类似的问题。我知道已经有一段时间了,但是如果其他人在构建一个链接到其他dll的节点插件时遇到这种情况,下面是我所做的:

您正在获取链接错误,因为项目文件是在项目下的./build目录中生成的,但是您引用了./lib/MathUtils.lib。如果在Visual中打开生成的.sln项目,就会看到问题。所以你可以:

代码语言:javascript
复制
"libraries": [../lib/MathUtils.lib"] 

代码语言:javascript
复制
"libraries": [ "<(module_root_dir)/lib/MathUtils.lib" ]

注意,首先相对路径上升到一个目录。第二个项目将把完整的路径放在项目的链接线中。

对我来说,variables部分没有将dll复制到发布目录,它似乎什么也没做。相反,我使用了一个副本部分:

代码语言:javascript
复制
     "conditions": [        
        ["OS==\"win\"", {
          "libraries": [ "<(module_root_dir)/tsflexnet/TSFlexnetCLib.lib" ],
          "copies": [
            {
              "destination": "<(module_root_dir)/build/Release/",
              "files": [ "<(module_root_dir)/tsflexnet/TSFlexnetCLib.dll" ]
            }
          ]
        }]
      ]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50708378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档