美文网首页iOS Developer
DEBUG:Undefined symbols for arch

DEBUG:Undefined symbols for arch

作者: 灰客 | 来源:发表于2016-11-29 09:55 被阅读0次

    遇到问题如图:这是在使用 Cornerstone 的时候同事在一个我不编译的文件里面写了几个 Controller, 然后我做 update 的时候,重新编译遇到的问题

    F5BA25A3-F4D3-4626-AAEA-D2B434CEFF2B.png

    p.p1 {margin: 0.0px 0.0px 0.0px 12.0px; text-indent: -12.0px; font: 11.0px Menlo}p.p2 {margin: 0.0px 0.0px 0.0px 12.0px; text-indent: -12.0px; font: 11.0px Menlo; min-height: 13.0px}

    "OBJC_CLASS$_LJCModifyTrackingViewController", referenced from:
    p.p1 {margin: 0.0px 0.0px 0.0px 12.0px; text-indent: -12.0px; font: 11.0px Menlo}p.p2 {margin: 0.0px 0.0px 0.0px 12.0px; text-indent: -12.0px; font: 11.0px Menlo; min-height: 13.0px}

      objc-class-ref in DJMembersViewController.o
    

    ld: symbol(s) not found for architecture x86_64

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

    查阅了资料后发现原来是这个文件没交给 target 编译

    解决办法:1.笨办法:~/Library/Developer/Xcode/DerivedData 关掉xcode,删掉DerivedData这个文件夹里的全部东西 然后重新打开项目clean>build

    2.找到这个文件LJCModifyTrackingViewController在 Xcode 工程里面选中,看右边的编译栏的书页界面有一个 Target Membership 的选项 把里面你的项目名字那个文件前面框选中,再次 Clean 之后编译就行了

    屏幕快照 2016-11-29 上午9.54.57.png 屏幕快照 2016-11-29 上午9.55.23.png

    遇到问题2:在同事上传了代码后,我这边下拉之后的内容不能再 Xcode 的编译文件里面看到,但是用 finder 能找到该文件,报错同样是这样的 x86_64问题,解决方法:在每个文件夹那里用 show finder 方法把该文件路径下的文件找到,拉到程序中,这样等于是给 Xcode 说明这个文件的路径是在这里(这种错误的原因就是你的文件存在,但是编译文件里面没有该文件的路径信息)

    最后补充一下看到的资料:
    architecture x86_64 类似问题可能产生的原因
    1.新建类,未参加 Target 编译(与我的问题一模一样)

    2.检查 targets --> build phases --> Compile Sources 中是否缺少 .m 文件

    3.检查 targets --> build phases --> link binary with libraries 是否缺少依赖库

    4.有些三方库可能需要导入libz.dylib

    5.检查库文件导入的路径不对或不存在,targets --> building setting --> search paths路径

    6.检查三方库是否重复导入

    6.-fno-objc-arc 的问题,检查下文件编译环境

    bug的解决要具体情况具体分析,随机应变。
    (如有错误,欢迎各位指正! ^ ^ )

    Xcode5老版本解决方案链接:http://www.jianshu.com/p/05f84034e4f6

    相关文章

      网友评论

        本文标题:DEBUG:Undefined symbols for arch

        本文链接:https://www.haomeiwen.com/subject/fnsapttx.html