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)
。我将更新问题以反映这一点。