我正在开发包含 C 和 C++ 源的 Node.js 本机模块。node-gyp
用于构建模块。
由于我只希望在 C 代码中出现一个警告错误,因此我在以下行中使用binding.gyp
:
"cflags!": [ "-Werror"],
"cflags": [ "-Werror=implicit-function-declaration" ],
这在编译 C 代码时工作正常,但会在每个 C++ 源文件上产生以下警告:
cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++
我找到了这个答案——将特定于 C 的 gcc 选项应用于 C/C++ 混合库——它在使用“纯”CMake 时解决了同样的问题。不幸的是,我没有找到是否可能以及如何将此条件正确添加到 GYP 配置文件中 - 也许使用变量和条件?请让我知道它是否可以解决。谢谢。