ZXing导入出错,如何导入,Undefined symbols for architecture i386或者armv7问题

来源:互联网 发布:2017淘宝双十一营业额 编辑:程序博客网 时间:2024/05/16 15:59

报错:

Undefinedsymbols for architecture i386:“_OBJC_CLASS_$_XXX”, referencedfrom:objc-class-ref in XXX

ld: symbol(s)not found for architecture i386

clang: error:linker command failed with exit code 1 (use -v to see invocation)

 

如果真机调试就是 undefined symbols forarchitecture armv7错误!发生这种错误通常是project.pbxproj这个文件引起的,尤其在多人合作开发的时候,svn提交不规范可能导致project.pbxproj发生错误,导致文件的引用不在project.pbxproj文件中。xcode项目import文件会根据project.pbxproj来查找,查找不到文件的引用则会有上述的错误。

解决方法点击工程,在主界面中点击BuildPhases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary WithLibraries中加入该类库。

引入ZXing方法:

 

/*

 *1、引入静态库子工程ZXingWidget.xcodeproj

 *2、导入框架:libiconv.dylib

 *3、设置项目依赖TARGETS-Build Phasses-TargetDependenciesLink Binary Libraries

 *4、设置Header Search Paths(根据导入层级关系编写)

 *5、将需要调用二维码的代码文件后缀名.m改成.mm

 *6ZXing不支持最新的64位架构,将Valid Architecrures 改成armv7armv7s

 *7、将Build Active ArchitectureOnly设为NO

 *8(XCode版本>4.5)Apple LLVM 5.1 - Languate -C++ 下,C++ Standard Library设为Compiler Default

 */

如图:

1.


 

 

 

 

2.

 

 

 

 

3.

4.

 

 

 

5.


0 0
原创粉丝点击