5

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

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

node-gyp configure -d -DPOSIX=1

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

4

2 回答 2

3

使用“定义”。

{
  "targets": [
    {
      "target_name": "MyAddon",
      "sources": [ "File1.cpp", "File2.cpp" ],
      "libraries": [ "MyNeeded.lib" ],
      "defines": [ "_UNICODE", "UNICODE" ]
    }
  ]
}

这会在运行node-gyp configure时将定义添加到 config.gypi 中

于 2016-09-13T16:39:45.900 回答
1

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

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

于 2014-01-18T23:16:29.127 回答