gpt4 book ai didi

gyp - 无法让 node-gyp 使用/MD 创建 Windows 解决方案

转载 作者:行者123 更新时间:2023-12-05 00:32:21 39 4
gpt4 key购买 nike

我想用/MD 标志(多线程 DLL)编译一个 node.js 模块。
在 binding.gyp 的 cflags 选项中包含“/MD”不起作用。

最佳答案

在玩了 binding.gyp 之后 - 很多 - 似乎问题不是由于 node-gyp 而是与 gyp 本身以及它对特定设置所需的非常具体的嵌套顺序有关。也就是说,为了设置运行时库(在发行版中),运行时库选项必须嵌套在 gyp 文件中,如下所示:

configurations
- Release
- msvs_settings
- VCCLCompilerTool
- RuntimeLibrary

尝试在没有任何这些嵌套元素的情况下设置运行时库会阻止设置运行时库。 (令人讨厌的是,没有任何警告该选项被忽略。)

因此,要将模块的调试和发布版本设置为使用调试运行时 DLL(编译器选项/MDd)和发布运行时 DLL(编译器选项/MD),binding.gyp 将如下所示:
{
'targets': [
{
# Usual target name/sources, etc.

'configurations': {
'Debug': {
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': '3' # /MDd
},
},
},
'Release': {
'msvs_settings': {
'VCCLCompilerTool': {
'RuntimeLibrary': '2' # /MD
},
},
},
},
},],
}

关于gyp - 无法让 node-gyp 使用/MD 创建 Windows 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469632/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com