没使用OC调用JS的时候一切正常,当引入#include “cocos/scripting/js-bindings/jswrapper/SeApi.h"头文件的时候,就开始报"string” file not found,导致这个错误的原因是XCode10对C++标准库不支持了,因此jswrapper目录下C++代码中#include 这样的语句全部报错。
请问这种情况应该怎么解决,自己复制Xcode9的标准库过来吗?
没使用OC调用JS的时候一切正常,当引入#include “cocos/scripting/js-bindings/jswrapper/SeApi.h"头文件的时候,就开始报"string” file not found,导致这个错误的原因是XCode10对C++标准库不支持了,因此jswrapper目录下C++代码中#include 这样的语句全部报错。
请问这种情况应该怎么解决,自己复制Xcode9的标准库过来吗?
我这边xcode10.2.1完全没问题。你把#include换成#import试一下?
导入C++的库试试?
stl的标准库在xcode10中应该是不支持了,除非从xcode9里面复制过来才行。
试过了,不行的。
你引用一个标准库的文件试一下,应该也不可以的。例如#include
对的,目前就是这样的情况,std库的方法都不能用了。jswrapper中用了很多std的内容,例如#include ,#include
不支持stl这种事肯定是不可能的,无非是换了个标准库而已,你再好好检查下你的工程设置
有解决方法了么,关注ing
Xcode 不可能不支持 C++ 库,再说它只是个 IDE,不会引起这方面的问题。这个问题应该是同时引入 OC 库和 C++ 库冲突导致的。我之前解决过类似的问题,就是调整 OC 和 C++ 引入的顺序,不过忘记怎么解决了,就是各种调整后好了。
.m文件里#include "cocos/scripting/js-bindings/jswrapper/SeApi.h"就会报错,错误报在#include string。
link的library是按照穿山甲文档来的。https://ad.toutiao.com/union/media/union/download
.m 文件不能包含 C++ 的头文件啊,需要改成 .mm。
请问怎么解决的
// 文件名.mm
static void runJavaScriptCode(const char* script) {
se::AutoHandleScope hs;
se::ScriptEngine::getInstance()->evalString(script);
}
谢谢,可以了