objective-c 呼叫第三方c語言函式庫
PHP中文网
PHP中文网 2017-04-24 09:13:32
0
2
454

我想從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)

拜託大家幫忙看看~~

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
阿神

問題已經搞定了,請看我對@isteven的評論

Ty80

你的靜態函式庫沒有編譯x86_64对应的二进制。如果自己编译的话,需要增加对x86_64的支持,不支援也不要緊,只是模擬器上就不能跑了,只能真機運作。
另外,真機上運行,如果不支援amr64也會報錯。
設定一下編譯選項吧,現在為止全CPU支援的話需要(最後兩個用於支援模擬器):armv7 armv7s arm64 x86 x86_64

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!