我想从object-c程序中,调用svn的api,实现版本控制的功能。
我先在mac上费了好大力气,成功编译了subversion的源码。然后在xcode的build-settings里面的header path中加入了svn api的头文件路径。又在build-phases中将libsvn_client_1.a引入到了libraries里面。但编译的时候报错,代码如下:
头部引入
#import "svn_client.h"
- (void)tableViewSelectionDidChange:(NSNotification *)notification
{
NSLog(@"select one row!");
char* url = "http://***.***.com/svn/***/unity/****";
//list_repo2(url);
//listRepo(url);
// 测试下
svn_checksum_size(nil);
}
报错的信息如下 :
Undefined symbols for architecture x86_64:
"_svn_checksum_size", referenced from:
-[ViewController tableViewSelectionDidChange:] in ViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
拜托大家帮忙看看~~
Masalah telah selesai, sila lihat komen saya kepada @isteven
Pustaka statik anda tidak menyusun
x86_64
perduaan yang sepadan. Jika anda menyusunnya sendiri, anda perlu menambah sokongan untukx86_64
Tidak kira jika ia tidak menyokongnya, ia tidak akan dijalankan pada simulator dan hanya boleh dijalankan pada mesin sebenar.Selain itu, apabila berjalan pada mesin sebenar, ralat akan dilaporkan jika
amr64
tidak disokong.Tetapkan pilihan kompilasi, yang diperlukan untuk sokongan penuh CPU setakat ini (dua yang terakhir digunakan untuk menyokong simulator):
armv7
armv7s
arm64
x86
x86_64
.