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

时间:2014-07-07 11:00:16

标签: ios xcode clang llvm stat

我编译并链接了使用lib(libclang)的ios app,它使用stat()而没有错误。但我有运行时错误:

  

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。我可以看到iOS(模拟器?)支持stathttps://developer.apple.com/library/prerelease/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man2/stat.2.html

2 个答案:

答案 0 :(得分:0)

iOS上不支持was said stat

答案 1 :(得分:0)

问题是您为OSX构建了libclang并将其链接到iOS可执行文件中。您需要为正确的平台构建libclang。

iOS确实支持

stat。