Я скомпилировал и связал приложение ios, которое использует lib (libclang), которое использует stat () без ошибок. Но у меня ошибка времени выполнения:
2014-07-07 16: 55: 14.138 Запуск LibClangUsage7Demo [74938: 60b] Обнаружена попытка вызвать символ в системных библиотеках, которого нет на iPhone: stat $ INODE64, вызванный из функции _ZN4llvm3sys2fs6statusERKNS_5TwineERNS1_11file_DemoUE в image7file_ClstatusE.
Код 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