微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我得到这个clang错误:在iOS 8的模拟器上_fwrite $UNIX2003

我已将新的iOS 8下载到我的手机和最新的 Xcode到我的Mac上.这一切都运行良好,但在我尝试iPhone 4s或5个模拟器(它与5s一起工作)加载并尝试新的iPhone 6 plus模拟器后,我收到以下错误
Undefined symbols for architecture i386:
  "_fwrite$UNIX2003",referenced from:
      leveldb::(anonymous namespace)::PosixEnv::~PosixEnv() in Firebase(env_posix.o)
      leveldb::(anonymous namespace)::PosixEnv::~PosixEnv() in Firebase(env_posix.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command Failed with exit code 1 (use -v to see invocation)

对我来说,我整个上午都在使用iPhone 4模拟器似乎很奇怪,但只有在我尝试iPhone 6 plus模拟器之后,它才会破坏,我无法恢复使用

解决方法

this link提供的答案对我来说很好.

如上所述,
删除所有这些错误,您必须创建一个* .c文件(不需要特定名称)并复制粘贴以下代码

#include <stdio.h> 
#include <unistd.h> 
#include <string.h>
#include <stdlib.h>

FILE *fopen$UNIX2003( const char *filename,const char *mode )
{
    return fopen(filename,mode);
}

int fputs$UNIX2003(const char *res1,FILE *res2){
    return fputs(res1,res2);
}

int nanosleep$UNIX2003(int val){
    return usleep(val);
}

char* strerror$UNIX2003(int errornum){
    return strerror(errornum);
}

double strtod$UNIX2003(const char *nptr,char **endptr){
    return strtod(nptr,endptr);
}

size_t fwrite$UNIX2003( const void *a,size_t b,size_t c,FILE *d )
{
    return fwrite(a,b,c,d);
}

通常一切都应该没问题.

原文地址:https://www.jb51.cc/iOS/332418.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐