有没有办法在 node-gyp 命令行上指定编译器标志(例如,预处理器宏定义)?

Jim*_*ong 5 node.js node-gyp

我正在尝试将 Node.js 插件集成到基于 CMake 的现有构建系统中。插件构建需要 CMake 上下文中可用的大量预处理器宏定义和库依赖项。我希望能够在node-gypCMake 调用时将它们传递给它。不幸的是,我一直无法找到一种简单的方法来做到这一点。

我试过使用用于普通旧的方法,gyp如下所示:

node-gyp configure -d -DPOSIX=1
Run Code Online (Sandbox Code Playgroud)

但该-D选项似乎没有通过node-gyp. 查看 的来源node-gyp,这并不完全令人惊讶。有没有一种直接、直接的方法来做到这一点,或者我是否坚持以binding.gyp编程方式生成条目,从环境或其他方面提取这些信息?

Dar*_*ite 1

我不确定为什么您会看到在 binding.gyp 中使用 cflags 设置的缺点 - 但我只是通过使用 .bashrc 设置标志来完成类似的工作

导出 CFLAGS='-m32' 导出 CXXFLAGS='-m32' 导出 LDFLAGS='-m3'