iOS 链接错误file was built for archive which is not the architecture being linked (i386)

iOS 环境下,链接某个静态库(.a文件)时,Xcode 会出现链接错误:

xxx file was built for archive which is not the architecture being linked (i386)

这是因为静态库是为iOS 环境编译的,并不能在模拟器环境下使用,只要将Build 目标改成设备即可。如果是:

ld: warning: ignoring file ./libsasl2.a, file was built for archive which is not the architecture being linked (armv7): ./libsasl2.a

则表示静态库的编译目标不是armv7(可能是armv6),需重新为armv7 编译静态库。

时间: 2024-10-13 22:50:41

iOS 链接错误file was built for archive which is not the architecture being linked (i386)的相关文章

VC++的链接错误LNK2005 已经在*.obj中定义

LNK2005错误--重复定义错误 形成的原因: 1. 重复定义全局变量.可能存在两种情况: A. 对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下.其实这是错误的,全局变量是针对整个工程的.正确的应该是在一个CPP文件中定义如下:int g_Test;那么在使用的CPP文件中就应该使用:extern int g_Test即可,如果还是使用int g_Test,那么就会产生LNK2005错误,一般错误错误信息类似:AAA.obj error LNK2005 in

模板函数(template function)出现编译链接错误(link error)之解析

总的结论:    将template function 或者 template class的完整定义直接放在.h文件中,然后加到要使用这些template function的.cpp文件中. 1. 现象描述 类似于参考文献[1],当我们以如下方式使用模板函数时,会出现模板函数声明.定义分离带来的链接错误: 1 // File "foo.h" 2 template<typename T> 3 extern void foo(); 1 // File "foo.cpp

mysql链接错误:2003 can&#39;t connect to mysql server on 10038

出现这个错误原因是端口号不是3306. 打开D:\Program Files\MySQL\MySQL Server 5.5 \my.ini文件,当然还有其他的.ini的文件: [client] port=3306 [mysql] default-character-set=utf8 # SERVER SECTION# ----------------------------------------------------------------------## The following opt

mysql链接错误

Warning: mysqli_connect() [function.mysqli-connect]: [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in xxx.php on line 14 解决方案: cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql ln -s /tmp/mysql.sock mysql.

C++常见gcc编译链接错误解决方法

除非明确说明,本文内容仅针对x86/x86_64的Linux开发环境,有朋友说baidu不到,开个贴记录一下(加粗字体是关键词): 用“-Wl,-Bstatic”指定链接静态库,使用“-Wl,-Bdynamic”指定链接共享库,使用示例:-Wl,-Bstatic -lmysqlclient_r -lssl -lcrypto -Wl,-Bdynamic -lrt -Wl,-Bdynamic -pthread -Wl,-Bstatic -lgtest("-Wl"表示是传递给链接器ld的参数

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

iOS 编译含C++代码出现ld: symbol(s) not found for architecture i386错误之解决(转载)

最近项目需要搭建自己的IM服务器,在快速配置好Openfire之后,开始研究使用gloox开发XMPP客户端实现通信, 先下载gloox源码,然后./configure,make ,sudo make install,在/usr/local/下找到头文件夹和静态库,加到项目中,然后加入openssl库,编写测试代码,编译,报错:XXX not being for architecture i386,感觉是gloox静态库有问题(排除了网上说的头文件路径缺失.building phases没添加.

Duplicate Symbol链接错误的原因总结和解决方法[转]

from:http://www.cocoachina.com/bbs/read.php?tid=177492 duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在.但是经过一段时间的总结,发现这种错误总是有一些规律可以找的.例如,我们有如下的最简单的两个类代码: //  ClassA.h#import <Foundation/Foundation.h>@interface ClassA : NSObject@end //  ClassA.m#impor

关于我遇到的“LNK 2019无法解析的外部符号”的链接错误

昨天在调试程序的时候出现了"LNK 2019无法解析的外部符号"的问题(VS2008),依照网上说的方法都没有解决这个问题,最后在项目文件里发现有两个同名的可是不在同一个目录下的cpp文件,而产生LNK错误的cpp文件里有对这个重名文件的引用,结果导致了当中一个cpp文件产生的目标文件(obj)覆盖了真正须要的cpp产生的OBJ文件,导致链接的时候找不到指定的符号而出现了链接错误. 以下给个图说明一下我遇到的情况吧: 在项目中.同一时候包括了目录1和目录2中的全部cpp文件,而ref.