无法使用golang编写node native addon给electron干活

首先文章编辑于2022-03-22,以后不知道什么样,我也不懂c/c++这些东西,都是看别人的讨论
本来,通过go build -buildmod=c-shared的方式打出动态链接库的方式给c调用,然后使用c写node-addon的方式,go是可以间接被nodejs调用的, *** 但是 ***,这样的方式在windows上不成功,仅在macos和linux可以

具体原因

在windows上node-gyp rebuild会因为cgo失败

node-gyp在windows只支持msvc编译,不支持minGW msys等GNU类编译器的编译出的的东西, 导致go build出来的含有cgo的动态链接没法用,在node-gyp build的时候不通过(go build出来的头文件里还含有c99标准的代码,msvc不完全支持c99标准)

相关讨论
Support for mingw/msys/cygwin for node-gyp
Using cgo built DLL on Visual Studio Project
cmd/link: support msvc object files
cgo-generated-sources-fail-to-compile-on-mvc

你可能感兴趣的:(无法使用golang编写node native addon给electron干活)