error MSB6006: "clang.exe" exited with code 5.

프로그래밍/유니티2018. 4. 9. 23:07

안녕하세요. 개발자 드리머즈입니다.


https://stackoverflow.com/questions/47399921/opencv-android-unity?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

에 나와있는 대로.. Android Studio를 통해 Unity에서 사용가능한 so파일을 만드려고 했습니다.


그런데 Step3에서 아래의 에러가 발생합니다.


1
2
3
4
5
6
7
8
9
10
11
12
1>------ Build started: Project: SharedObject1, Configuration: Debug ARM ------
1>ANDROID_HOME=
1>ANT_HOME=
1>JAVA_HOME=C:\Program Files\Java\jdk1.8.0_131
1>NDK_ROOT=
1>pch.h
1>TRACKER : ���� TRK0005: "clang.exe"��(��) ã�� ���߽��ϴ�. ������ ������ ã�� �� �����ϴ�.
1>
1>
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Clang.targets(152,5): error MSB6006: "clang.exe" exited with code 5.
1>Done building project "SharedObject1.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
cs

에러 리스트를 보면 아래와 같습니다.


발생하는 에러를 봐선.. Visual Studio에서 android sdk 위치를 못잡은 것 같습니다.

sdk위치를 설정하고 싶은데 어디서 설정해야 하는지 모르겠네요.


환경변수에 ANDROID_HOME을 만들어서 sdk 경로를 입력했지만 효과가 없었습니다.

Visual Studio 내부에서만 사용되는 경로가 있는 것 같습니다.

그 경로를 수정할 방법을 찾아야합니다.


Visual Studio에서 Tools > Options > Cross Platform > C++ > Android에 가면 설정하는 곳이 있긴하네요.

그런데 여기서 Android SDK, Android NDK, Java SE Development Kit 경로를 설정해도.. 문제가 해결되지 않습니다...


뭔가 이상해서 기존에 설치된 2개의 비주얼 스튜디오를 제거했습니다.

1개는 유니티를 설치하면서 같이 설치된 유니티용 비주얼 스튜디오였고

나머지 1개가 위의 문제가 발생한 일반적인 비주얼 스튜디오 였습니다.


2개의 비주얼 스튜디오를 제거한 다음에 다시 비주얼 스튜디오 1개를 설치했습니다.

이번에 설치할 때는 Unity를 사용한 게임 개발과 C++를 사용한 모바일 개발을 선택했습니다.



C++를 사용한 모바일 개발을 선택하면 여러개의 세부 항목을 조절할 수 있는데 이번에 설치할 때는 이 부분을 수정하지 않았습니다.

처음에 설치할 때는 안드로이드 스튜디오를 사용하면서 이미 Android NDK, SDK나 Java SE등이 설치되어 있었기에 이 항목들을 설치하지 않았었습니다.

그런데 위와 같은 문제가 발생하고 있기에 혹시 몰라 기본 설정대로 다 설치를 했습니다.



이렇게 하여 설치한 다음에 똑같이 Dynamic Shared Library(Android) 프로젝트를 생성했습니다.


그런데도 동일한 에러가 발생했습니다. 거기다가 pch.h파일의 경로를 어처구니 없게 \가 없는 경로로 인식하는 에러도 추가됐습니다. pch.h파일은 프로젝트 생성시 비주얼 스튜디오에 의해 자동으로 생성된 파일임에도 말입니다.



혹시 몰라 비주얼 스튜디오의 Tools > Options > Cross Platform > C++ > Android에 가서 체크되어 있었던 항목들을 모두 체크해제 했습니다.

그 다음에 Build Solution을 해보니 빌드가 성공하는 것을 확인했습니다!

빌드가 성공했음에도 이상하게 pch.h에서 발생하는 에러는 여전히 사라지지 않았었습니다.


x86으로 되어있던 solution platform을 Arm으로 변경하니까 pch.h에서 발생하던 에러가 모두 사라졌습니다. 그 이후에 solution platform을 다시 x86으로 변경하여도 pch.h에서 발생하던 에러는 생기지 않았습니다.


x86으로도 빌드가 성공했습니다.

에러가 다 사라졌습니다.


문제의 원인은 정확하게 파악하는게 힘드네요.

비주얼 스튜디오가 2개 설치되면서 뭔가 꼬였던게 아닐까 싶기도 합니다.

혹은 비주얼 스튜디오를 설치하면서 Android SDK, Android NDK, Java SE Development Kit을 설치해야 하는 것 같기도 합니다.


jdk 1.8.0_112 버전이 좀전에 비주얼 스튜디오에 의해 설치된 버전입니다.

이 버전이 빌드 성공시 환경변수 처럼 보이는 JAVA_HOME의 주소가 일치합니다.


그러나 현재 제 시스템의 환경변수를 보면

JAVA_HOME은 jre1.8.0_161로 설정되어 있습니다.


비주얼 스튜디오에서는 윈도우 시스템의 환경변수와 다른

local? 환경변수를 쓰는 것 같습니다.


어쨋든 저와 비슷한 문제를 겪으시는 분들은 제 글을 보고..

비주얼 스튜디오를 재설치 해보시기 바랍니다.





작성자

Posted by 드리머즈

관련 글

댓글 영역