问题描述:
我在导入公司开发的第三方库的时候出现过一系列的问题,在这里做一个小结;因为公司的第三方库有.framwork和.a两种,而且依赖其他一些第三方库,比如MJExtension/SBJson/Masonry/ReactiveCocoa等,所以在导入的时候遇到一些问题.由于解决问题的时候没有做截图,所以回答比较粗糙.
1.一般的,当工程添加第三方库的时候,系统会自动将第三方SDK添加到图片中的目录中,如图.
也可以在Build Phases中添加,我的项目中依赖的一些lbstdc++和libsqlite等一些新系统的库,如果你报错中出现一些C语言关键字,可能是你依赖的库没有导入.
2.报错原因也可能是导入的一些头文件找不到,这就需要你手动的告诉系统应该在哪个路径下面去寻找,
在该路径下可以看到很多search paths,Frame Search Paths/Header Search Paths/Library Search Paths/User Header Search Paths,
2.1.Frame Search Paths : 用来告诉系统自己导入的SDK应该在哪个路径下寻找.
2.2.Header Search Paths : 用<>修饰的头文件会在这个目录下寻找,
例如你定义了一个file.h的文件,在其他文件中引用
2.3.User Header Search Paths : 与上面一个相对应的,它是用""来修饰的,用"file.h"修饰的文件文件会在两个路径下去寻找,这里有一篇优秀的博文,讲的很详细,需要的自取:http://www.cnblogs.com/sandyzhang/p/5639586.html
2.4.Library Search Paths: 这个和Framework Search Paths 很像,但Library Search Paths .a默认不会被svn管理起来,(个人感觉差别不大)
2.5.双击路径的时候会有如下框出现
recursive: 递归查找,一层一层往下找
non-recursive不递归
2.6.在出现其他问题的时候也可以设置allow non-modular Includes In framework Modular,这个选项,如果有些问题在你的工程中一直无法解决,可以试试这个,设置成NO