您的位置:首页 > 移动开发 > IOS开发

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

2016-05-08 11:39 525 查看
本文转载于;http://my.oschina.net/gexun/blog/317325

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.a、libwebp.a、libwebsockets.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学习