Я на самом деле разрабатываю приложение для iPhone, и мне нужно использовать библиотеку, изначально предназначенную для среды Linux. Поскольку я использую Mac (со Snow Leopard и Intel Core Duo), я думаю, что возможно использовать эту библиотеку в моем приложении.
В моей библиотеке 3 файла: файл .h, файл .a и файл .so (и .a, и .so находятся в / Developer / usr / lib). Кроме того, я включил .h в мой код и добавил, что .a в XCode имеет каркас (и он работает, потому что XCode находит компиляцию .so).
Для вашей информации, когда я использую команду "file" для файла .so, у меня есть:
ELF 32-битный разделяемый LSB-объект, Intel 80386, версия 1 (SYSV), динамически связан, не разделен
Когда я компилирую для Xcode Simulator, у меня появляется предупреждение и ошибка.
Предупреждение:
В /Developer/usr/lib/mylib.so файл был создан для неподдерживаемых
формат файла, который не связан с архитектурой (i386)
Ошибка:
"_mylib_fct", по ссылке:
- [MyAppAppDelegate applicationDidBecomeActive:] в
MyAppAppDelegate.o
Символ (-ы) не найдены
Собрать2: ld вернул 1
статус выхода
Когда я компилирую для Device 3.0 с архитектурой arm6, у меня тоже появляется та же ошибка, но предупреждение совсем другое:
ln /Users/Pablo/MyApp/mylib.a файл не имеет необходимой архитектуры
Я пытаюсь решить эту проблему и заставить приложение работать с этой библиотекой уже несколько дней, и я не понимаю, почему компилятор жалуется ... Это проблемы с 32/64 битами? Как я могу справиться с этим?