내 응용 프로그램에서 Layout.c
이라는 이름의 C 파일에 해당 라이브러리에 ABC.a
이라는 정적 라이브러리를 사용하고 있습니다. init()
이라는 함수가 있습니다. 그리고 도서관을 프로젝트에 연결하고 .h
파일을 추가했습니다. 프로그램은 오류없이 컴파일되지만 함수를 링크하는 동안 오류가 발생합니다. 왜?링커 명령이 종료 코드 1을 사용하여 실패했습니다. (호출을 보려면 -v를 사용하십시오.) iOS 오류
Info : 정적 라이브러리도 빌드 단계에 추가했습니다.
그리고 라이브러리는 armv7, armv7s 및 arm64 용으로 제작되었습니다. 아니오 그리고 액티브 아키텍처를 구축 : 활성화 비트 코드하지 NO
예 오류 :
Undefined symbols for architecture arm64:
"AMID_INIT(int*, int*, int)", referenced from:
-[ViewController microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:] in Test_lto.o
"amid_Val(float const*, int, int*, int, unsigned int)", referenced from:
-[ViewController microphone:hasAudioReceived:withBufferSize:withNumberOfChannels:] in Test_lto.o
이에 대한 간 이일을 도와주세요.
추측 컨데, 라이브러리의 헤더에는 C++ 가드가 없으며 객관적인 C++ 프로그램에서 사용하고 있습니다. 'extern "C"{\ n # import'lib.h '\ n}에서'#import'lib.h''를 래핑하여 그 것이 도움이되는지 확인하십시오. – Petesh
시도해보십시오 : 아키텍처 및 유효한 아키텍처가 괜찮은 경우 다른 링커 플래그에 $ (상속)를 추가했는지 확인할 수 있습니다. – KKRocks
@Petesh 댓글은 맞는 말입니다. 멋진 남자. 당신은 많은 시간을 절약했습니다. 감사. 답을 줘 내가 확인해. –