stat()在ios模拟器中不可用?

我编译和链接使用lib(libclang),使用stat()没有错误的iOS应用程序。 但我有运行时错误:

2014-07-07 16:55:14.138 LibClangUsage7Demo [74938:60b]启动检测到尝试调用系统库中不存在的iPhone中的符号:stat $ INODE64从图像LibClangUsage7Demo中的函数_ZN4llvm3sys2fs6statusERKNS_5TwineERNS1_11file_statusE调用。

引起错误的LLVM代码是(/Unix/Path.inc):

error_code status(const Twine &Path, file_status &Result) { SmallString<128> PathStorage; StringRef P = Path.toNullTerminatedStringRef(PathStorage); struct stat Status; int StatRet = ::stat(P.begin(), &Status); // failure here return fillStatus(StatRet, Status, Result); } 

我怎样才能链接应用程序没有符号stat()? 我如何修复/绕过它?

PS。 我可以看到stat是由iOS(模拟器?)支持: https : //developer.apple.com/library/prerelease/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man2/stat.2.html

我曾经说过 ,iOS不支持stat

问题在于你为OSX构build了libclang并将其链接到一个iOS可执行文件中。 您需要为正确的平台构buildlibclang。

统计当然是在iOS上支持的。