我想從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)
拜託大家幫忙看看~~
問題已經搞定了,請看我對@isteven的評論
你的靜態函式庫沒有編譯
x86_64
对应的二进制。如果自己编译的话,需要增加对x86_64
的支持,不支援也不要緊,只是模擬器上就不能跑了,只能真機運作。另外,真機上運行,如果不支援
amr64
也會報錯。設定一下編譯選項吧,現在為止全CPU支援的話需要(最後兩個用於支援模擬器):
armv7
armv7s
arm64
x86
x86_64
。