今天遇到一个奇怪的现象,新建了一个coco2d-x的工程,本机运行ok,添加进svn之后,另外一台机子checkout出来报错:
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)
最后查到的原因是:
mac(linux)下,subversion的客户端自动把*.a 和 *.so这些二进制文件给屏蔽了。
有两种解决办法:
1.手动添加
1) find ./ -name "*.a" 找到项目下所有的.a文件
.//libs/cocos2dx/platform/third_party/ios/libraries/libcurl.a
.//libs/cocos2dx/platform/third_party/ios/libraries/libwebp.a
.//libs/libwebsockets/ios/lib/libwebsockets.a
2)然后手动添加
svn add ./libs/cocos2dx/platform/third_party/ios/libraries/libcurl.a
svn add ./libs/cocos2dx/platform/third_party/ios/libraries/libwebp.a
svn add ./libs/libwebsockets/ios/lib/libwebsockets.a
svn commit
2.直接修改svn配置文件,删除对*.a的屏蔽
$ vi ~/.subversion/config
将这两行
# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
# *.rej *~ #*# .#* .*.swp .DS_Store
修改成:
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store
附:mac系统的svn升级到1.8之后,如何升级xcode的svn到最新的1.8
$su
$cd /Applications/Xcode.app/Contents/Developer/usr/bin/ #进入xcode存放svn命令的子目录
$mkdir bup #创建备份目录
$mv svn* bup/ #把旧的svn相关文件移动到备份目录
$ln -s /usr/local/bin/svn* ./ #把新的SVN文件复制到当前目录