我使用来自C ++ 11的功能,如std :: function,并且在为Cordova构建我的iOS插件时遇到问题。错误如:
error: no type named 'function' in namespace 'std'
看起来编译器没有c ++ 11的标志,但我不知道如何告诉Cordova这个标志。
出于某种原因直接提供标志:
<source-file src="src/ios/Example.cpp" compiler-flags="-std=c++11" />
不起作用并产生相同的错误。
答案 0 :(得分:2)
我在派对上已经很晚了,但我目前正在开发插件并面临同样的问题。
它是hack-y并且绝对不是真实的,但是一个有点功能的解决方案是直接更改xcode中的方言和库标志。请注意,这可能会与您可能拥有的其他插件混乱。
打开工作区(位于例如platforms / ios / HelloCordova / HelloCordova.xcworkspace),然后在构建设置菜单中:
C++ Language Dialect
选项设为C++11
值。C++ Standard Library
选项设为lib++
值。