Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译libc++;ios?_Ios_Clang_Libstdc++_Libc++ - Fatal编程技术网

编译libc++;ios?

编译libc++;ios?,ios,clang,libstdc++,libc++,Ios,Clang,Libstdc++,Libc++,我想在ios应用程序中使用libclang来突出显示语法 我已经为ios(armv7)交叉编译了clang,并且我能够将其用于标记化、诊断等。但是当我尝试为包含#include或iostream或cstdio.hlibclang的.cpp文件标记化/获取诊断时,却找不到头文件 我是否必须交叉编译,将交叉编译的头文件和静态库上传到设备,并将相应的-i添加到libclang命令行参数中?iOS上已经存在libc++了。你不需要做任何特殊的事情来访问它。只需在iOS SDK中链接/usr/lib/li

我想在ios应用程序中使用
libclang
来突出显示语法

我已经为ios(armv7)交叉编译了clang,并且我能够将其用于标记化、诊断等。但是当我尝试为包含
#include
iostream
cstdio.h
libclang的.cpp文件标记化/获取诊断时,却找不到头文件


我是否必须交叉编译,将交叉编译的头文件和静态库上传到设备,并将相应的
-i
添加到libclang命令行参数中?

iOS上已经存在libc++了。你不需要做任何特殊的事情来访问它。只需在iOS SDK中链接/usr/lib/libc++.dylib即可。

我想为armv7配置头文件就足够了,因为您不需要链接,因为我有头文件搜索错误,所以它似乎需要它们的路径。我可以将iOS SDK文件夹中的头文件复制到iOS设备并添加-i吗?使用
-i
应该可以。您还可以配置编译器,以便在默认情况下包含搜索路径,但我不确定如何执行此操作。我已将标题从libcxx/include复制到设备,并添加了-I和标题路径。现在,对于使用
#include
的文件,我将遇到下一个错误输出:断言失败:(Capacity-Index==TypeLoc::getFullDataSizeForType(T)&&“为CreateTypeSourceInfo提供的数据大小不正确!”),函数pushImpl,file/Users/asmirnov/Documents/dev/src/llvm_34_ios/tools/clang/lib/Sema/TypeLocBuilder.cpp,第133行。看来smth的头文件是错误的,它会伤害到clang。libcxx include文件夹()中的lotBTW cstdio头文件具有
#include
(第100行),并且libcxx headers文件夹中没有stdio.h文件。这是误导,我得到了libclang诊断-致命错误