Je suis en train de créer un lien libssh2.dylib (une bibliothèque 3ème partie compilé par Matthew Wilkinson à l'aide libssh2 bibliothèque de http://www.libssh2.org) à mon projet Xcode, mais lorsque je tente le code suivant:Quelle est la différence entre armv6 et i386?
const char * libssh2_version(int required_version);
printf("libssh2 version: %s", libssh2_version(0));
Heres l'erreur que je reçois:
ld: warning: in /iaN's Work/Developer/Apple/iPhone/apps/PortScanner/libssh2.1.dylib, file was built for armv6 which is not the architecture being linked (i386)
Undefined symbols:
"_libssh2_version", referenced from:
-[Request connect] in Request.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Je reçois cette erreur lorsque j'essaye une API libssh2. Quelqu'un at-il la moindre idée de quel est le problème? Ce sont les fichiers que j'ai liés au projet:
// SSH Librarys
#include "libssh2_config.h"
#include "libssh2.h"
#include "libssh2_sftp.h"
#ifdef HAVE_WINDOWS_H
#include <windows.h>
#endif
#ifdef HAVE_WINSOCK2_H
#include <winsock2.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
# ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/types.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <ctype.h>
J'ai également lié le fichier libssh2.dylib aux cadres et a ajouté un chemin récursif « Recherche en-tête des fichiers » sur l'onglet Construire pour les fichiers libssh2. a, libgcrypt.a, libgpg-error.a.
Je ne sais rien sur les dev de l'iPhone, mais ARMv6 est l'architecture du processeur à l'intérieur de l'iPhone et i386 est l'architecture de la machine de bureau OS X. Donc, il semble que vous utilisiez une bibliothèque pour iPhone, mais XCode pense que vous voulez compiler une application de bureau. Vérifiez les paramètres de votre projet. – bobince