Я создал статическую библиотеку с простой математической функцией и создал с ней универсальную двоичную информацию. Построение для активных архитектур только было установлено NO, строя это.Неопределенные символы для архитектуры arm64 xcode 7.3
lipo -info libcheckC.a
Architectures in the fat file: libcheckC.a are: armv7 x86_64 arm64
Я добавил этот файл в другой проект и проверить, что Другие флаги компоновщика имеют -ObjC, -lcheckC, $ (наследуется)
Библиотека также присутствует под «Build Phases -> Ссылка двоичный с библиотеками ".
Я создал заголовок моста и добавил файл заголовка в свой проект.
Я все еще получаю ошибку
Undefined symbols for architecture arm64:
"_squareOf", referenced from:
checkCLib.ViewController.calculate (__ObjC.UIButton) ->() in ViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я использую Xcode 7.3
При попытке команды вручную, я огонь следующий - скопировано из Xcode с добавлением -v и углубляясь оттуда. Я получаю следующие данные.
@(#)PROGRAM:ld PROJECT:ld64-264.3.101
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
Library search paths:
/Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/
/Users/test/Documents/MyIApps/checkCLib/checkCLib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib
Framework search paths:
/Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/
/Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/
Undefined symbols for architecture arm64:
"_squareOf", referenced from:
checkCLib.ViewController.calculate (__ObjC.UIButton) ->() in ViewController.o
ld: symbol(s) not found for architecture arm64
Библиотека существует по указанному пути, содержит символ и поддерживает архитектуру.
lipo -info /Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/libcheckC.a
Architectures in the fat file: /Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/libcheckC.a are: armv7 x86_64 arm64
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm /Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/libcheckC.a
/Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/libcheckC.a(square.o):
0000000000000000 T _sqaureOf
Да. Пути поиска библиотеки содержат «$ (унаследованный)», $ (PROJECT_DIR)/checkCLib. Я также добавил/Users/test/Library/Developer/Xcode/DerivedData/Build/Products/Release-universal/к нему – Amruta
, но путь поиска в порядке? – tymac
Не жалуется на то, что библиотека не найдена. Поэтому он находит библиотеку, но не символ. Нужно ли добавлять какой-либо оператор "include"/"import" в мой быстрый файл? – Amruta