zoukankan      html  css  js  c++  java
  • 改错总结(1)

    Vesions ignore & ld: library not found for -l问题总结

    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” 命令即可。

  • 相关阅读:
    21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
    34. Find First and Last Position of Element in Sorted Array
    leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、301. Remove Invalid Parentheses
    31. Next Permutation
    17. Letter Combinations of a Phone Number
    android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
    oc 异常处理
    oc 类型判断
    oc Delegate
    oc 协议
  • 原文地址:https://www.cnblogs.com/sunhaijin/p/4403039.html
Copyright © 2011-2022 走看看