博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS开发笔记:编译时出现的错误和解决办法
阅读量:6184 次
发布时间:2019-06-21

本文共 1260 字,大约阅读时间需要 4 分钟。

1、"std::ios_base::Init::~Init()", referenced from

出现这样的编译问题,是需要再加进libstdc++.dylib和libstdc++.6.dylib(为6.1使用,xcode5以后默认complier也可以编译通过)

2、apple Mach-o Linker error通常是因为compile source中有相同的.m文件

3、如果在真机中进行测试时出现failed to get the task for process,有可能是证书出了问题。

4、如果出现expect a type的错误,可能出现了在.h文件中的循环引用。

5、以后不能同时有两个一样的.m文件在编译,这样会报linker command failed with exit code 1 (use -vto see invocation)这个错误

(另外:如果代码中混合有C或者C++代码,那么,也不可以在两个不同名称的mm文件中进行声明或者引用,因为也会导致这个错误的发生)。

  1. 编译器提示类似file is universal but does not contain a(n) armv6 slice for architecture armv6的错误。可能是您的XCode版本过低,推荐使用4.2以上的版本,将XCode的Build Settings中的Architectures设置成arm7。

  2. XCode提示有类似C++语法的错误。可能是您在调用接口时没有设置成OC与C++混编模式(具体做法为将调用接口的实现文件改为.mm的后缀)。

  3. 提示类似ld: 3 duplicate symbols for architecture i386(arm7)的错误。可能是您用了与SDK相同的第三方库,解决方法是删除引起错误的第三方法库的实现文件(.m文件)。

  4. 编译器提示类似file is universal (2 slices) but does not contain a(n) armv7s slice:…… for architecture armv7s的错误。是因为此版本的库还不支持arm7s的环境,将Build Settings项中的Valid ArchiteCtures中的arm7s删除即可解决。

  5. 编译器提示类似Duplicate symbol _NN_Decode in /Users/…/libPPUserPayKit.a(UPPayRsa_nn.o) for architecture armv7或Command /Developer/…/bin/llvm-g++-4.2 failed with exit code 1的错误。则是因为C++混编模式引起的,您可以将Build Settings 设置项里面的Other Linker Flags设置成空即可。

转载于:https://www.cnblogs.com/zhao-jie-li/p/5851753.html

你可能感兴趣的文章
[知识盲点] 为function添加值为function的属性
查看>>
Emacs for Windows use TRAMP
查看>>
ssh登录的调试方法和常见问题
查看>>
PHP 7.3 比 PHP 7.0 快 22%,即将进入特性冻结阶段
查看>>
Java 9 文章集锦
查看>>
案例丨数据驱动的发现页最低成本改版
查看>>
普通用户竟这样执行xp_cmdshell存储过程!
查看>>
Visualize Famous Campus in China
查看>>
C#给PDF文档添加文本和图片页眉
查看>>
为Exchange Server 2010服务器申请证书
查看>>
httpd之Forbidden问题解决
查看>>
输入的字符串分割后 ,通过查询语句查询结果集
查看>>
三台linux服务器相互ssh 无密码验证登陆
查看>>
.htaccess文件的作用(访问控制)
查看>>
了解你所不知道的SMON功能(四):维护col_usage$字典基表
查看>>
saltstack的安装和初步试用体验
查看>>
wall命令
查看>>
演示针对LVM分区的管理
查看>>
老王学linux-centos6.7RHCS
查看>>
string与CString
查看>>