【问题标题】:Android ndk r15c compiled node.js error: 'to_string' is not a member of 'std'Android ndk r15c 编译 node.js 错误:“to_string”不是“std”的成员
【发布时间】:2018-10-05 00:22:53
【问题描述】:

Android ndk r15c 编译 node.js 错误:'to_string' 不是成员 'std'

我用(doc)方法用ndk构建,出现了这个问题,经过google搜索和issues,得到消息android-ndk uses gnustl cpp lib by default which doesn't include some functions (std::to_string) in particular.,然后我把common.gypi文件里面的gnu++1y改成c++11还是不行。

In file included from ../deps/v8/src/torque/ast-generator.h:9:0,
             from ../deps/v8/src/torque/ast-generator.cc:8:
../deps/v8/src/torque/ast.h: In member function 'std::string' 

【问题讨论】:

标签: android c++ node.js android-ndk


【解决方案1】:

然后我把common.gypi文件里面的gnu++1y改成c++11还是不行。

该标志控制您的 C++ 标准版本,而不是您的 STL。

如果您更新到 r17/r18,您将默认获得 libc++。否则:

https://github.com/nodejs/node/blob/master/android-configure#L43

您需要将--stl=libc++ 添加到该命令。我强烈建议至少更新到 r16,因为直到那时 libc++ 还没有真正准备好用于生产。

【讨论】:

  • 在 /home/rsplwe/dev/node/node-v10.11.0/android-toolchain/include/c++/4.9.x/type_traits:390:0 包含的文件中,来自 ../deps /v8/src/base/bits.h:9,来自../deps/v8/src/base/bits.cc:5:/home/rsplwe/dev/node/node-v10.11.0/android-toolchain/ include/c++/4.9.x/cstddef:44:25: 致命错误: stddef.h: No such file or directory #include_next ^ 编译终止。
  • 当编译器调用不正确(-I-isystem 参数排序不正确)或项目有自己的 stddef.h 等内容使用不当的副本时,通常会出现这种情况和前一种情况一样。
猜你喜欢
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 2016-06-22
  • 2013-10-07
  • 2020-05-23
  • 1970-01-01
  • 2014-05-11
相关资源
最近更新 更多