종료 코드 1( 호출을 보려면 -v 사용), Xcode 8, Swift 3에서 링커 명령이 실패했습니다.
이 오류를 없앨 수가 없어요!
파생 데이터 삭제(환경설정->)와 같은 모든 방법을 시도했습니다;위치->회색 화살표를 클릭하여 Finder에서 파생 데이터 폴더 열기-> 마우스 오른쪽 버튼 클릭, 휴지통으로 이동, 프로젝트 정리(CMD+Shift+K 또는 제품->정리), 카르타고 및 종속성 업데이트, 스택 오버플로(주로 빌드 설정/단계 조정)에 대한 다른 답변 확인,그리고 github 등에서 앱을 다시 복제했습니다.
공동작업자 컴퓨터에서도 동일한 프로젝트가 작동합니다.
편집: 현재 최고 등급의 답변에서 조금 더 디버깅할 수 있었습니다...그래도 어떻게 고쳐야 할지 아직 잘 모르겠어요.제가 프로젝트에 두 번이나 참여한 것처럼 보여요?두 번 찾아봤는데 아무것도 안 보이네요!
로그 사진은 다음과 같습니다.
저는 오늘 xcode 8 버전 8.3.2에서 같은 문제에 직면했습니다.
이슈를 마우스 오른쪽 버튼으로 클릭 --> 로그에 표시.
그러면 해당 문제의 원인을 확인할 수 있습니다.
아마도 당신은 포드 파일을 설치했지만 여전히 그것으로부터 구축하려고 시도하고 있을 것입니다..xcodeproj
대신 파일을 작성합니다..xcworkspace
내게 유일하게 효과가 있었던 것은 달리는 것이었습니다.pod deintegrate
그리고.pod install
청소를 해보셨습니까? cmd + shift + k
좋아요... 그래서 제 문제를 해결한 것은...
앱 위임 파일:
#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"
이미 프로젝트의 DarkSky API.m 파일에 Credentials.h를 가져왔습니다.추가 가져오기를 주석 처리하여 오류가 사라졌습니다!
앞으로 누구에게나 도움이 될 수 있는 몇 가지 언급할 것들.@umairqureshi_6의 답변은 프로세스 진행에 도움이 되었지만 해결하지 못했습니다.그는 제가 정보를 알아낼 수 있는 곳으로 이끌었습니다.오류 로그에 AppDelegate 및 DarkSky API 파일이 계속 표시되었고 인증 정보 파일에서 가져온 정보가 오류의 원인이 되었습니다..h가 .m 파일의 모든 가져오기를 수행한다는 말을 들은 기억이 나서 이 세 파일 중 하나에 있어야 한다는 것을 알고 즉시 가져오기를 확인했습니다.쾅!
질문에 대한 답변이 이미 완료된 것으로 알고 있습니다.하지만 이것이 누군가 시간을 절약하는 데 도움이 된다면, 저도 같은 오류가 있었습니다.저는 제 쪽에서 아주 작고 어리석은 실수를 찾기 위해 모든 것을 확인했습니다.프로젝트의 뷰 컨트롤러에서 코어 데이터 ManagedObject 사용자 지정 파일을 가져왔습니다.내 .m file of properties class가 core data class의 .h 파일을 가져와서 중복 Import를 발생시켰기 때문에 아키텍처에서 중복 심볼 오류(linker 명령 실패)를 발생시킨 .h 파일 대신 .m 파일을 잘못 가져왔습니다.
따라서 여러 솔루션을 시도하기 전에 올바른 파일을 가져왔는지 확인하십시오.!
위에 많은 해결책이 언급되어 있습니다.아무도 저를 위해 일하지 않았습니다. 하지만 먼저 위의 것을 시도해 주십시오.
프로젝트 선택 -> 대상 선택 -> 연결된 프레임워크 및 라이브러리 -> 모든 포드 라이브러리 추가. (내장 바이너리에 존재하는 경우 제거)
이제 xcode의 왼쪽 파일 탐색기에 있는 Framework Folder에서 이것들을 제거합니다.
이것으로 저의 문제가 해결되었습니다.
프로젝트-> 빌드 단계-> 바이너리를 라이브러리와 연결하고 모든 포드 라이브러리를 추가합니다.
저도 카르타고를 의존성으로 사용하는 것과 같은 문제를 겪었습니다.
Select Project -> Build Settings -> Search for Enable Bitcode -> Yes로 선택된 경우 No를 선택합니다.
그것이 저에게 이 문제를 해결해 주었습니다.
저의 경우 오류의 원인은 두 번 연결된 라이브러리입니다.
사용합니다react-native
그래서 그것은 자동으로 연결되었습니다.react-native link
수동으로 xcode를 입력합니다.
저도 같은 문제가 있었어요.
원인은 2개의 파일에 동일한 글로벌 변수를 선언했기 때문입니다.그래서 중복 기호 2개를 말하는 것과 같은 오류를 보여주고 있었습니다.
해결책은 그 변수들을 제거하는 것이었습니다.
Flurry 프레임워크와 관련하여 이 문제가 있는 모든 사용자를 위한 것입니다.이것이 제 문제를 해결한 것입니다.저에게 문제는 다음 파일을 가져왔지만 사용한 적이 없다는 것입니다."lib Flurry"TVOS_9.2.3" "libFlurryWatch_9.2.3"
따라서 프로젝트 대상 설정으로 이동하여 "연결된 프레임워크 및 라이브러리" 섹션에서 이 두 파일을 제거하기만 하면 문제가 해결되었습니다.
다음을 확인합니다.Find Implicit Dependencies
확인란이 선택되어 있습니다.
(제품 -> 구성표 -> 구성표 편집 -> 빌드 -> 암시적 종속성 찾기)
저는 코코아 포드로 스파클 프레임워크를 테스트하고 있었습니다.
저는 프게도, 는나를 넣었습니다.pod 'Sparkle', '~> 1.21'
잘못된 위치에 있는 PodFile에 있습니다.Testing(유닛 테스트용) 밑에 넣어두었습니다.
PodFile의 올바른 위치에 배치되면 모든 것이 정상입니다.
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠimport Foundation
!
스위프트 서버 측에서 키투라를 사용하고 있었는데 계속 잊고 있었습니다!
제 문제와 해결책은 다음과 같습니다.
소스 트리(버전 컨트롤러)를 사용하여 소스 코드에서 두 개의 파일을 제거했습니다.제가 제거한 두 개의 클래스를 포함하는 diff를 적용한 후 Xcode가 자동으로 추가하지 않았습니다.그래서 링커 에러가 났습니다.
수동으로 파일을 추가했습니다. 그룹 이름을 마우스 오른쪽 단추로 클릭하고 "파일 추가"를 선택합니다.이제 나의 오류가 해결되었습니다.
클래스 파일과 관련하여 링커 오류가 발생한 경우 수동으로 추가해 보십시오.
내 장치에서 빌드하고 실행했을 때는 이 문제가 없었습니다.시뮬레이터에만 이 문제가 있었습니다.저는 그냥 컴퓨터를 다시 시작하고 실행했습니다.효과가 있었습니다.
나의 경우, 나는 그것을 바꾸었습니다.Target
의 내안이에 Podfile
그래서 저에게 같은 오류를 만들어 줍니다.
해결책
가.project-> Build Phase->Link Binary with libraries
오래된 것을 제거합니다.FrameWorks
minus button(-)
그리고 청소하고 다시 실행합니다.내가 할게요.
Unwanted 항하는목 .framework
.
다른 답변은 제게 도움이 되지 않았기 때문에 다른 사람에게 도움이 될 경우를 대비하여 제 솔루션을 여기에 공유합니다.
문제는 XCode-Project의 Pod 파일을 잘못된 플랫폼으로 구성하는 것이었습니다.포드 파일의 처음에 있는 "platform:ios"를 "platform:macos"로 변경한 것이 오류를 제거하는 데 도움이 되었습니다.
저도 같은 문제가 있었습니다.github 프로젝트를 체크아웃하는 경우 gitcone을 사용하는 대신 gitfs clone을 사용합니다. gitfs clone을 사용하는 경우도 있습니다. git만 사용하여 일부 대용량 파일을 참조하십시오.또한 비트코드가 비활성화되어 있는지 확인합니다.
저에게 있어서, 보석 잠금 파일은 제가 설치했던 것보다 오래된 버전의 코코팟을 지정하는 것이었습니다.저는 다시 지점을 잡고 뛰어야 했습니다.bundle exec pod install
에 pod install
문제는 우리 대부분에게 다른 것 같고, 오류 메시지는 적절한 정보를 가지고 있습니다.의 경우,이 " 경우배, 대다같이과설다니습었정되"로 설정되었습니다.10.13
export MACOSX_DEPLOYMENT_TARGET=10.13
줄을 서지만, 난 달리고 있었어요.10.14
저는 을 그서구대다상음전로했환습다니야해으래축을했다▁my니로 전환해야 했습니다.10.14
General > Deployment Info에서 IT Library 관련 기호를 다시 사용할 수 있도록 합니다.
cd /Users/foo/src/scrobble/macos/itunes-scrobble
export MACOSX_DEPLOYMENT_TARGET=10.13
... SNIP ...
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_ITLibMediaItem", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_ITLibPlaylist", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_ITLibrary", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
저의 경우, 저는 같은 프로젝트에서 여러 제품을 생산하고 있었습니다.중 는 제품중하대해는서에나,는,▁the서▁for,main.m
파일이 동일한 프로젝트의 다른 폴더에서 헤더 파일을(를) 참조하십시오.그러나 해당 파일은 "빌드 단계"의 "복잡한 소스"에 포함되지 않았습니다.이로 인해 링커 오류가 발생했습니다.
될 수 깊게 후, 는 "빌드 단계"라는 것을 깨달았습니다..m
헤더 파일을 "컴파일된 소스" 목록에 포함해야 합니다.저의 문제는 그 파일을 추가한 후에 해결되었습니다.명확한 설명을 위해 사진을 첨부합니다.강조 표시된 파일을 추가해야 합니다.
이 문제의 원인 중 하나는 "활성 아키텍처 구축 전용"일 수 있습니다.참으로 설정해야 합니다.
포드(in xcode)의 빌드 단계의 IOS 버전과 포드 파일의 IOS 버전이 같아야 합니다(9.0으로 시도).
xcode 14와 관련된 문제가 발생했고, 포드의 일부 프레임워크는 문제를 해결하기 위해 ios 8.0에서 최소 배포 대상을 가지고 있었습니다. 다음을 포드 파일에 추가했습니다.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = "12.0"
end
end
end
저도 오늘 같은 문제를 겪었고 구글 검색을 시작했습니다. 이 스레드를 발견했을 때 말이죠.질문을 다 읽지 못했는데 답이 생각났습니다.빈 생성자가 있는 클래스를 선언했습니다.
class MyClass{
MyClass();
void func_one(){
// code
}
void func_two(){
// code
}
~MyClass(){
cout << "Deleting object" << endl;
}
};
그리고 나서 나는 왜 (여기서 내가 단어 선택을 하는 것이 맞는지 확실하지 않지만, 누가 신경 쓰든 간에) 곱슬곱슬한 교정기로 우리 반의 생성자를 종료시키지 않을까 생각했습니다.{}
그래서 저는 했습니다.
class MyClass{
MyClass(){}
void func_one(){
// code
}
void func_two(){
// code
}
~MyClass(){
cout << "Deleting object" << endl;
}
};
문제가 없어졌고, 제 코드는 완벽하게 작동하기 시작했습니다.
알아요, 문제를 조사해서 진짜 원인을 찾는 것이 좋은 관행이지만, 저에게는 효과가 있었습니다.
언급URL : https://stackoverflow.com/questions/43795385/linker-command-failed-with-exit-code-1-use-v-to-see-invocation-xcode-8-swif
'programing' 카테고리의 다른 글
VB.NET 코드를 C#로 마이그레이션할 때 for 루프가 다르게 작동하는 이유는 무엇입니까? (0) | 2023.05.20 |
---|---|
C#에서 복싱과 언복싱이 필요한 이유는 무엇입니까? (0) | 2023.05.20 |
출시 후 iOS 앱에 디버거를 연결하는 방법은 무엇입니까? (0) | 2023.05.15 |
QueryParser에 여러 필드를 통합하는 방법은 무엇입니까? (0) | 2023.05.15 |
백그라운드 작업자를 사용하여 GUI를 업데이트하는 방법은 무엇입니까? (0) | 2023.05.15 |