首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >节点-gyp忽略(c++17)标记

节点-gyp忽略(c++17)标记
EN

Stack Overflow用户
提问于 2018-09-14 13:25:07
回答 2查看 1.6K关注 0票数 3

我尝试使用这个node.js文件配置和构建一个C++插件:

代码语言:javascript
运行
复制
{ 
  "targets": [
    {
      "target_name": "addon",
      "sources": [ "addon.cpp" ],
      "cflags": [
        "-std=c++17"
      ]          
    }
  ]
}

但是,当我运行node-gyp configurenode-gype rebuild时,我总是收到这样的消息

警告:“如果只有在-std=c++17或-std=gnu++17中可用”

构建也失败了,因为我确实依赖于这些c++17特性。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-16 15:26:07

使用"cflags_cc" (而不是"cflags")可以工作。

这解决了问题。

票数 4
EN

Stack Overflow用户

发布于 2020-07-20 05:59:51

cflags_cc不是为我工作的,但是在VCCLCompilerTool中的设置可以工作(在VCCLCompilerTool上):

代码语言:javascript
运行
复制
{
  'targets': [
    {
      'target_name': 'test-napi-native',
      'sources': [ 'src/test_napi.cc' ],
      'include_dirs': ["<!@(node -p \"require('node-addon-api').include\")"],
      'dependencies': ["<!(node -p \"require('node-addon-api').gyp\")"],
      'cflags': [ '-fno-exceptions' ],
      'cflags_cc': [ '-fno-exceptions' ],
      'xcode_settings': {
        'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
        'CLANG_CXX_LIBRARY': 'libc++',
        'MACOSX_DEPLOYMENT_TARGET': '10.7'
      },
      'msvs_settings': {
        'VCCLCompilerTool': { "ExceptionHandling": 1, 'AdditionalOptions': [ '-std:c++17' ] }
      }
    }
  ]
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52333010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档