添加第三方类库形成的linker command failed with exit code 1 (use -v to see invocation)的错误调试

linker command failed with exit code 1 (use -v to see invocation)这个错误貌似碰见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,而后一编译就出现这样错误(并非必定会出这样错误),开始觉得是网上下载的类库自己问题,因此从新找类库或者其余方式将它添加进去,只要不出错就行,也一直没有深刻了解根本问题,今天在给工程添加一个FMDB(SQLIte第三方类库)文件编译时又出现这种错误,一开始觉得工程问题,可是新建工程后仍是出现这个问题,通过网上查找,获得了解决办法;ios

[cpp] view plaincopyui

Undefined symbols for architecture i386:
"OBJC_CLASS$_FMDatabase", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)code

在网上获得解决办法是:blog

在工做左边导航栏Target-->Build Phases-->compile Sources中,第三库库的全部.m文件都添加到里面,而后编译经过了;get

添加.m文件it

根据对比能够看见 in FMDBTest,FMDBTest的Target里添加进去了了一些.m文件io

对于以上错误,根据网友解答个人理解是编译

咱们在使用这些第三方类库文件时直接将其拖拽到工程之中,编译的的时候Xcode也没有自动引用,因此形成这样错误,这就须要咱们手动添加。假如咱们在工程中新建某个文件就不会出现这样问题;class

参考 http://blog.hsin.tw/2012/ios-dev-undefined-symbols-for-architecture-i386/下载

相关文章
相关标签/搜索