美文网首页
iOS中关于静态库路径无法找到问题的解决

iOS中关于静态库路径无法找到问题的解决

作者: 爱易寒曲易散 | 来源:发表于2016-06-24 17:12 被阅读394次

    1.递归删除指定目录下的 .git、.svn 文件

    find . -name .git | xargs rm -fr

    find . -name .svn | xargs rm -rf

    第一条倒还不常用,因为用 git 做版本管理的时候,

    只在根目录下生成一个 .git 目录,删掉这一个就行了~

    因此,删除 .git 字需要 rm -rf .git 命令就够了。

    第二条才是真的,svn 做版本管理的时候,受管理的每个目录下面都会有一个 .svn 隐藏目录。

    因此,如果要去掉 svn 文件的话,则上面的第二条命令乃不二之选~

    2.Versions for Mac 忽略文件设置

    一、打开配置文件mvim ~/.subversion/config

    二、找到 global-ignores 一行,去掉注释,编辑成:

    global-ignores = build *~.nib *.so *.pbxuser *.mode(在此添加呢要忽略的文件后缀)

    三、找到enable-auto-props = yes把注释去掉

    (让立即生效?这条没有试过,当时按第二条改了以后发现还是没有反应)

    3.ld: library not found for -lcurl

    XCode 里面有时候会报出如下的错误(今天我就遇到了一遭):

    clang: warning: argument unused during compilation: '-websockets'

    ld: library not found for -lcurl

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

    解决方案:

    第一时间点击 XCode 工程文件,在 Build Phases 中查看 “Link binary With Libraries

    如果不出所料,你应该能发现有一到数个的条目是用红色字体来显示的。

    什么意思?被工程引用的这些文件,其物理文件已经不处于之前所记录的地方了。

    怎么办?右键点击红色条目,选择 “Reveal in Project Navigator”,

    此时大抵能在左侧栏中定位到缺失文件所在的路径,接下来就好办了,找到缺失的文件,挪回它应该待的地方。

    4.ld: library not found for -lcurl

    现象:在编译工程时,有时会遇到类似“ld: library not found for -l…” 的错误提示。

    原因:通常这是由于工程在编译时找不到需要的链接库而导致的。

    解决方法:

    一般可以通过如下的方法解决,在工程的 Target 中选中要执行编译的某个target,

    然后 “get info”,打开 Build 设置页面,在 “Library Search Path” 中添加缺失链接库的所在文件夹的路径即可。

    5.安装 Versions for Mac 以后,全局忽略的列表中默认是包含 *.a 文件类型的

    这样可能会导致一些问题,就拿 cocosd-x 库来说吧,

    cocos2d-x 创建的模板工程中就包含着三个 .a 类型的文件:libcurl.alibwebp.alibwebsockets.a

    如果用 Versions 来做版本管理的话,这些 .a 文件就可能被跳过。

    当其他人从 svn 服务器 checkout 该工程进行编译的时候,就可能会出现上一点中所描述的情形。

    6.svn 默认 ignore(忽略)一些文件,例如 “*.o”,怎么取消这种默认忽略让文件能正常提交呢?

    切换到指定目录,使用 “svn add * --force --no-ignore” 命令即可。

    其中,“--no-ignore” 是取消忽略,“* --force” 是添加当前目录及所有子目录下的所有文件。

    7.受版本控制的工程,对其做粘贴目录的操作须谨慎!

    如果粘贴进去的某个目录中也包含了 .svn 隐藏目录,就可能会导致目标工程的版本控制出错,

    直观的表现就是某目录下明明存在一些文件,但在 Versions 中却看不到,日常的 svn 操作也可能会受到一定的影响。

    怎么解决这个问题?在控制台下切换到出问题的目录,使用 “find . -name .svn | xargs rm -rf” 命令即可。

    相关文章

      网友评论

          本文标题:iOS中关于静态库路径无法找到问题的解决

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