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);
}

编译通过

posted @ 2015-10-29 19:21  shuffle  阅读(983)  评论(0编辑  收藏  举报