XCode 6.4编译错误----Undefined symbols for architecture i386: "_fwrite$UNIX2003"

使用xcode在模拟器iphone4s和iphone5出现错误

编译时的错误描述:

Undefined symbols for architecture i386:
  "_fwrite$UNIX2003", referenced from:

一开始感觉是.a文件没有单独编译i386,x86_64导致,重新编译后

lipo -info xxxx.a

发现.a文件即使支持i386,x86_64,但还是编译不通过.

网上查了一些资料后,发现解需要在工程中添加一个.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);
}

编译通过

时间: 2024-10-14 05:33:04

XCode 6.4编译错误----Undefined symbols for architecture i386: "_fwrite$UNIX2003"的相关文章

iOS:编译错误Undefined symbols for architecture i386: _OBJC_CLASS_$_XXX&quot;, referenced from: error

Undefined symbols for architecture i386: _OBJC_CLASS_$_XXX", referenced from: error 这个意思为无法找到名为XXX的类,进而还会导致一个无法连接的一个报错,只要把这个解决了就好了 既然没有这个类,我们就需要添加这个类 第一步: 选择项目文件,找到TARGETS 第二步: 选择 Build Phases 第三步: 选择 Compile Sources 第四步: 添加 XXX.m 类(切记,添加的是.m文件) 然后可能

iOS 错误 undefined symbols for architecture i386

undefined symbols for architecture i386 这个错误困扰了我几个小时. 网上很多问这个问题的,回答基本上都是说在 target 里面去的 armv64 什么什么的. 但问题根本不在这里! 巨简单的问题,就是缺少必要的库!进入 target - general,添加 libz.dylib 完事! 可是网上的各种答案对我造成了深深的误导,使我白白浪费了几小时时间.我就奇怪问什么这个答案网上就是找不到,而我也是偶然发现. 但是没什么用这个库,以及这个库具体作用是什么

添加第三方类库造成的Undefined symbols for architecture i386:编译错误

目录(?)[-] 还有另外一个httpstackoverflowcomquestions6610709undefined-symbols-for-architecture-i386 Undefined symbols for architecture i386 _OBJC_CLASS__SKPSMTPMessage referenced from error 1.原因: 如果是源码编译的话,一般就只某些头文件没有添加到src编译里面.但是对于添加库编译,一般是库的编译路径设置不正确(比如arm的

Undefined symbols for architecture i386的错误

转:http://blog.csdn.net/azhou_hui/article/details/18312047 多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题: Undefined symbols for architecture i386: "_OBJC_CLASS_$_xx文件名", referenced from: 下面是可能导致这类问题出现的原因及修改: 1.相关工程文件未导入   你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操

Undefined symbols for architecture i386: &quot;_crc32&quot;, referenced from:——crc链接错误

有时候用别人的框架,你会碰到下面的错误,很是吓人,什么玩意,我怎么看不懂!!! Undefined symbols for architecture i386:  "_RELEASE", referenced from:      -[DemoAnnotationView dealloc] in DemoAnnotationView.o  "_crc32", referenced from:      -[ZipArchive addFileToZip:newnam

Undefined symbols for architecture i386:ld: symbol(s) not found for architecture i386

昨天项目还好好的,今天一编译竟然报错: Undefined symbols for architecture i386: "_KCCategorySentence", referenced from: ___58-[EvaSettingController tableView:didSelectRowAtIndexPath:]_block_invoke_2 in EvaSettingController.o -[XFParams setDefault] in XFParams.o __

Undefined symbols for architecture i386: &quot;_deflate&quot;, referenced from:

Undefined symbols for architecture i386: "_deflate", referenced from: PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o) "_deflateEnd", referenced from: PlatCompress(enumCompressOperation, Co

微信SDK导入报错 Undefined symbols for architecture i386:&quot;operator delete[](void*)&quot;, referenced from:

异常信息: Undefined symbols for architecture i386:  "operator delete[](void*)", referenced from:      +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)      +[WeChatApiUtil NsDataEncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)    

oc调用c++接口时 报错 Undefined symbols for architecture i386:

当在oc中调用c++中的方法时,发现说c++中的方法没定义或是找不到 Undefined symbols for architecture i386: "_desTYData", referenced from:-[TuYoo encryptParametersWithDict:] in libtuyoo.a(TuYoo.o)ld: symbol(s) not found fo 记得c++中的方法定义是要这样定义的 extern"C" { const char *d