我正在使用已编译的OpenSSL用于iPhone应用程序。我按照http://www.x2on.de/kontakt/中的说明进行操作,这样我就可以在iPhone模拟器上开发rsa操作了。问题是我在构建项目时遇到了这个错误:
_fopen $ UNIX2003引自
libpypto_i386.a中的_BIO_new_file(bss_file.o) libcrypto_i386.a中的_file_ctrl(bss_file.o)符号 找不到
每次我调用此函数获取公钥时:
RSA * d2i_RSAPublicKey(RSA ** a,const unsigned char ** pp,long length);
有些地方指出这是一个版本问题所以我应该为不同的架构(目前使用iPhoneOS3.2.sdk)构建openssl,是吗?
感谢您的评论。
答案 0 :(得分:5)
只需创建新的*.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);
}
答案 1 :(得分:1)