Electron builder失败:否';对象';生成的文件
自从升级到electron 10.1.2以来,我对electron builder有一个问题。我的构建现在在重建Electron builder失败:否';对象';生成的文件,electron,v8,electron-builder,keyboard-layout,Electron,V8,Electron Builder,Keyboard Layout,自从升级到electron 10.1.2以来,我对electron builder有一个问题。我的构建现在在重建键盘布局时失败。重建仅在Windows而不是Mac上失败。我不知道从哪里开始这个问题,所以我在这里问:) 我的设置: 角度:9.0.7 电子:10.1.2 电子生成器:22.8.x 当我将electron从9.0.0更新到10.1.2时,问题就开始了。其他一切都没有改变 问题: 使用命令调用electron-builder.cmd--x64-p always-w重建键盘布局时被
键盘布局时失败。重建仅在Windows而不是Mac上失败。我不知道从哪里开始这个问题,所以我在这里问:)
我的设置:
- 角度:9.0.7
- 电子:10.1.2
- 电子生成器:22.8.x
当我将electron从9.0.0更新到10.1.2时,问题就开始了。其他一切都没有改变
问题:
使用命令调用electron-builder.cmd--x64-p always-w
重建键盘布局时
被称为以下步骤之一:
> keyboard-layout@2.0.16 install C:\Users\<me>\<dir1>\<dir2>\dist\node_modules\keyboard-layout
> node-gyp rebuild
我尝试过的有帮助的方法:
Electron 10.x.y将v8更新为8.5(),并查看导致错误的行(..\.Electron gyp\10.1.2\include\node\v8.h(5378)
),我看到以下内容:
static constexpr size_t kMaxLength =
internal::kApiSystemPointerSize == 4
? internal::kSmiMaxValue
: static_cast<size_t>(uint64_t{1} << 32); <--- Line 5378
如果I chnagestatic_cast(uint64_t{1}
我所做的尝试没有帮助:
'WarnAsError':'false'
应该可以解决这个问题;但是报告了两个不同文件的错误(。\src\keyboard layout manager.cc
和。\src\keyboard layout manager windows.cc
),因此您必须修改这两个文件的生成规则
禁用警告也会有帮助,但必须禁用的是警告4309(而不是2220)。同样,您必须对两个文件(或整个编译)都这样做
旧的和新的行在理论上不一样吗?一个移位32位的结果是0xffffff
否,1
我所做的尝试没有帮助:
'WarnAsError':'false'
应该可以解决这个问题;但是报告了两个不同文件的错误(。\src\keyboard layout manager.cc
和。\src\keyboard layout manager windows.cc
),因此您必须修改这两个文件的生成规则
禁用警告也会有帮助,但必须禁用的是警告4309(而不是2220)。同样,您必须对两个文件(或整个编译)都这样做
旧的和新的行在理论上不一样吗?一个移位32位的结果是0xffffff
不,1谢谢您的详细解释。您是对的,'WarnAsError':'false'
确实有帮助,当我更改它时,它被其他一些命令运行过:S。还有一个问题。如果我禁用警告,模块是否仍能正确生成,或者我是否只是消除一个问题?它应该正确生成--否则您将有一个相当大的问题您手上有严重的编译器错误,这些非常罕见:-)谢谢您的详细解释。你是对的,'WarnAsError':'false'
确实有帮助,当我更改它时,它被其他命令运行了:S。还有一个问题。若我禁用了警告,模块是否仍能正确构建,或者我是否能消除一个问题?它应该正确构建——否则您将面临一个相当严重的编译器错误,而这是非常罕见的:-)
['OS=="win"', {
"sources": [
"src/keyboard-layout-manager-windows.cc",
],
'msvs_settings': {
'VCCLCompilerTool': {
'ExceptionHandling': 1, # /EHsc
'WarnAsError': 'false', # <--- I chnaged this from true to false
},
},
'msvs_disabled_warnings': [
4018, # signed/unsigned mismatch
2220, # <--- I added this
4244, # conversion from 'type1' to 'type2', possible loss of data
4267, # conversion from 'size_t' to 'type', possible loss of data
4302, # 'type cast': truncation from 'HKL' to 'UINT'
4311, # 'type cast': pointer truncation from 'HKL' to 'UINT'
4530, # C++ exception handler used, but unwind semantics are not enabled
4506, # no definition for inline function
4577, # 'noexcept' used with no exception handling mode specified
4996, # function was declared deprecated
],
}], # OS=="win"
static constexpr size_t kMaxLength =
internal::kApiSystemPointerSize == 4
? internal::kSmiMaxValue
: static_cast<size_t>(uint64_t{1} << 32); <--- Line 5378
static constexpr size_t kMaxLength = internal::kApiSystemPointerSize == 4
? internal::kSmiMaxValue
: 0xFFFFFFFF;