objective-c 调用第三方c语言库
PHP中文网
PHP中文网 2017-04-24 09:13:32
0
2
428

我想从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讲师

répondre à tous(2)
阿神

Le problème a été résolu, merci de consulter mon commentaire à @isteven

Ty80

Votre bibliothèque statique ne compile pas le x86_64 binaire correspondant. Si vous le compilez vous-même, vous devez ajouter la prise en charge de x86_64. Peu importe s'il ne le prend pas en charge. Il ne fonctionnera tout simplement pas sur le simulateur et ne pourra être exécuté que sur une vraie machine.
De plus, lors de l'exécution sur une machine réelle, une erreur sera signalée si amr64 n'est pas pris en charge.
Définissez les options de compilation, qui sont requises jusqu'à présent pour la prise en charge complète du processeur (les deux dernières sont utilisées pour prendre en charge le simulateur) : armv7 armv7s arm64 x86 x86_64.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!