C++ 如何在Windows上使用带有节点gyp的静态库?

C++ 如何在Windows上使用带有节点gyp的静态库?,c++,node.js,linker,node-modules,node-gyp,C++,Node.js,Linker,Node Modules,Node Gyp,我试图使用node gyp链接一个静态库,以便将其用作本机节点插件。但是,当我运行节点gyp rebuild时,会出现以下链接错误: 错误LNK2001:未解析的外部符号“double u cdecl mylibengine::criticalZvalue(double)”(?criticalZvalue@mylibengine@@YANN@Z) 紧接着是: C:\Users\Mihai\Desktop\msp addon\build\Release\mylib-addon.node:致命错误

我试图使用
node gyp
链接一个静态库,以便将其用作本机
节点
插件。但是,当我运行
节点gyp rebuild
时,会出现以下链接错误:

错误LNK2001:未解析的外部符号“double u cdecl mylibengine::criticalZvalue(double)”(?criticalZvalue@mylibengine@@YANN@Z)
紧接着是:

C:\Users\Mihai\Desktop\msp addon\build\Release\mylib-addon.node:致命错误LNK1120:1未解析外部[C:\Users\Mihai\Desktop\mylib addon\build\mylib-addon.vcxproj
binding.gyp
看起来像:

{
“目标”:[{
'target_name':'mylib插件',
“cflags!”:['-fno异常'],
“cflags_cc!”:['-fno exceptions'],
“包含目录”:[
'节点gyp
解析外部符号?


其他信息:

  • 我正在运行Windows 10
  • 我测试了该库的工作原理,尝试将其与
    g++
    一起使用,如下所述
我有以下项目结构:

├───build
└───dependencies
    └───mylib
        ├───include
        └───lib
            └───x64
  • dependencies/mylib/include
    中,我有一个名为
    engine.h
    的头文件,其中包含:
#pragma一次
名称空间mylibengine
{
双临界值(双分位数);
}
  • dependencies/mylib/lib/x64
    中,我有一个名为
    libmylib.a
  • 在根目录中,我有一个名为
    main.cpp
    的文件,其中包含:
#包括
#包括
int main()
{

std::cout因为您的
MyLibNode.cpp
只调用
double mylibengine::criticalZvalue(double)
它不能对未定义的引用负责:
double mspengine::criticalZvalue(double)
。似乎您发布的代码中没有出现
mspengine
,而不是实际出错的代码。对于
mspengine
名称空间表示抱歉。错误是
LNK2001:未解析的外部符号“double\uu cdecl mylibengine::criticalZvalue(double)
。我将更新问题以反映这一点。