【问题标题】:How to npm i ssh2 without errors on Windows?如何在 Windows 上无错误地 npm i ssh2?
【发布时间】:2021-11-21 03:51:22
【问题描述】:

npm i ssh2 以:

结尾

MSVCRT.lib(chandler4gs.obj):错误 LNK2019:函数中引用了未解析的外部符号 __except_handler4_common __except_handler4 [c:\xxxxxxx\git\sdk\v2\master\node_modules\yyyy\node_modules\cpu-features\build\cpufeatures. vcxproj] c:\xxxxxxx\git\sdk\v2\master\node_modules\yyyy\node_modules\cpu-features\build\Release\cpufeatures.node :致命 错误 LNK1120:1 未解决的外部 [c:\SAPDevelop\git\sdk\v2\master\node_modules\irpa_core\node_modules\cpu-feature s\build\cpufeatures.vcxproj]

如您所见,问题出在cpu-features。我能够查看 MS Visual Studio 的 cpu-features 构建文件(通过运行 npm i cpu-features),我认为我找到了根本原因: 使用/MT 选项编译节点模块(cpufeatures.node)(C/C++ 运行时是静态链接的) 但是 DLL 链接到 cpu_features.lib,witch 本身是通过链接到 utils.lib 构建的... cpu_features.libutils.lib 这两个库是使用 /MD 开关编译的(C/C++ 运行时是动态链接的)

这是不正确的。在带有 Visual Studio 的 Windows 上,所有链接到 DLL 的库必须使用相同的选项来链接到 C/C++ 运行时。在两个库的 Visual Studio 项目中手动将 /MD 更改为 /MT 后,DLL cpufeatures.node 构建良好

我对@9​​87654336@一无所知。

问题:如何在Windows上成功npm install ssh2

(我在这里创建了一个问题:https://github.com/mscdex/cpu-features/issues/3 到目前为止无济于事。我知道 cpu-features 对于 ssh2 是 可选。替代问题:如何告诉 npm install ssh2 不要尝试构建 cpu 功能?)

 Windows 10 Enterprise 64 bits 21H1 build 19043.1237
 node v14.17.6
 npm 6.14.15
 node-gyp 8.2.0
 cmake 3.21.3
 Visual Studio Enterprise 2019 Version 16.11.3

【问题讨论】:

标签: c++ node.js visual-studio cmake ssh2


【解决方案1】:

另一个问题的答案:

npm install nan
npm install ssh2 --no-optional

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2015-09-01
    相关资源
    最近更新 更多