zoukankan      html  css  js  c++  java
  • XCode import头文件出现这么一个问题

    XCode
    import头文件出现这么一个问题:
    用实例来说明

    【环境】
    OS X 10.8.2
    XCode4.5
    Svn版本控制

    【Svn目录】
    原有目录关系如下:
    [Base]---->[Reserve]---->[Game]
                ---->{A.h,A.m,B.h,B.m},其中B.m文件import "A.h"

    【应用原有拓展】
    由于新项目在原有项目基础上扩展开发,那么新项目保留[Base]---->[Reserve]相关代码
    在[Base]平级新增如下目录
    [newPrj]---->[Reserve]---->[Game]
                ---->{A.h,A.m,B.h,B.m}
    由于A.h,A.m文件在当前项目中的实现与[Base]有差异,且不能应用到[Base]
    那么需要新增一个目录,最后效果如下
    [newPrj]---->[Reserve]---->[Game]
                ---->{A.h,A.m,B.h,B.m}
            ---->[Extra]  ---->[Game]
                ---->{A.h,A.m}

    在xcode中,工程项目如下处理:
    1、删除原有[Reserve]---->[Game]中A.h,A.m的引用
    2、添加[Extra]  ---->[Game]的A.h,A.m的引用

    这个时候点击B.m文件在定位A.h,一直指向[Reserve]---->[Game]中的A.h,而且由于A.h在[Reserve]和[Extra]差异性实现导致一些引用失败从而编译失败
    比如:
    [Base]:    A.h引用第3方库K.h
    [newPrj]:    A.h不用第3方库K.h,且项目也没有引用第3方库
    这个时候,编译,一直会让你找K.h,因为:B.m文件在定位A.h,一直指向[Reserve]---->[Game]中的A.h,不是[Extra]  ---->[Game]中的A.h

    PS:如果两个目录中A.h都一样就不会存在这类问题。

    如何解决这个问题:
    1、先进入[Base]项目
    新增目录[Header],效果如下
    [Base]---->[Reserve]---->[Game]
                ---->{A.h,A.m,B.h,B.m}
          ---->[Reserve]---->[Header]
                ---->{libCommon.h},这个文件有这么一句话#import "A.h"            
                
    注意,B.m文件修改成import "libCommon.h"
    当然编译成功的,checkin
    2、在[newPrj]项目下拉最新,效果如下
    [newPrj]---->[Reserve]---->[Game]
                ---->{A.h,A.m,B.h,B.m}
            ---->[Reserve]---->[Header]
                ---->{libCommon.h}
            ---->[Extra]  ---->[Game]
                ---->{A.h,A.m}
    [newPrj]项目工程把[Header]引用到项目中,再点击B.m文件在定位A.h,这个时候会定位到[Extra]  ---->[Game]中的A.h

    当然,这样也算解决了问题

    只是以后的编写上来说,相对复杂了一些

    最后,希望XCode编译器能解决这个问题,应该是头文件路径定位的优先级问题


    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
     随机选择数据库记录的方法
    交叉查询
    Delphi编辑器颜色设置
    Delphi Dll中多线程无法使用Synchronize同步的解决方法(转)
    Delphi FTP例子源码
    DELPHI之备忘四
    界面美化代码
    使Form响应滚轮事件
    配色卡
    Delphi http传输备忘
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/3042893.html
Copyright © 2011-2022 走看看