[UE4] "코드 파일 D:\Build\++UE4+Licensee\xxx를 찾을 수 없음"을 해결하는 방법
UE4를 디버그하려고 하고, 디버그 심볼을 유효하게 하거나, 소스 코드를 입수해도, 실제로 C++ Symbols를 표시시키도록 해도 상기 에러로 해결할 수 없는 경우가 있다.
1. 우선 오류로 표시되는 경로를 확인
표시되는 것이 순식간이므로 스크린 샷을 찍는 것이 좋습니다.
4.25.4가 최신인 2020년 11월 현재 표시되는 경로는
D:¥Build¥++UE4+Licensee¥Sync
또는 D:¥Build¥++UE4¥Sync
등++ UE4 또는 Sync 또는 문자열이 들어 있습니다
가 특징. 이 패스는, Epic Games가 배포판의 UE4를 빌드했을 때에 가리키고 있던 패스라고 불리고 있어, 배포판의 바이너리의 경우는 변경할 수 없는 것 같다.
스스로 빌드한 UE4라면 원래 상기 에러는 나오지 않지만, 아래에 나타내는 해결책은, 스스로 UE4를 빌드하지 않고, 가리키고 있는 패스를 재현하는 것으로 해결하는 방법.
2. D 드라이브를 물리적 or 가상으로 준비
이미 D 드라이브가 존재하는 사람은 날려 다음.
없는 사람은 육체적으로 준비하거나, 이하의 방법으로 가상적으로 만든다.
VirtualDDrive
라는 폴더를 만듭니다 subst D: C:¥VirtualDDrive
실행 이렇게 하면 가상적으로 D 드라이브가 생겨 C 드라이브 바로 아래에 만든
VirtualDDrive
라는 경로를 가리키게 된다.다만 subst 커멘드의 효과는 재기동하면 사라져 버리므로, 상기 내용의 bat 파일을 만들어 스타트업 폴더에 넣어 두면 해결한다. 자세한 내용은 또 다른 Qiita 기사 등을 참조하십시오.
3. Sync까지 폴더 만들기
다음에 앞서 준비한 D 드라이브에 Sync 폴더까지의 폴더를 익스플로러로 작성한다. 경로는 삼가해 둔 에러 메시지대로 한다.
예를 들어
D:¥Build¥++UE4+Licensee¥Sync
가 표시되면 D 드라이브에 Build
, 그 안에 ++UE4+Licensee
폴더를 만듭니다.다만 Sync 폴더 자체는 다음 작업으로 링크를 만들기 때문에, 만들지 않고 OK.
4. Sync 폴더와 UE4 소스 코드를 연결
명령 프롬프트를 열어 정션(또는 심볼릭 링크)을 만듭니다.
예를 들어, 오류 메시지에
D:¥Build¥++UE4+Licensee¥Sync
가 표시되고 UE4 소스 코드가 C:¥UE_4.25
에 있으면,mklink /J D:¥Build¥++UE4+Licensee¥Sync C:¥UE_4.25
명령 프롬프트에서 실행합니다. (관리자 권한이 필요할 수 있음)
이제 의사 에러 메시지에 나온 경로가 재현되기 때문에 다시 실행하면 오류가 발생하지 않습니다.
물론, 정션이나 심볼릭 링크가 아니어도, 물리적으로 그 폴더에 소스 코드를 이동시켜도 OK.
보충: 무언가와 편리한 심볼릭 링크
덧붙여서 junction이나 심볼릭 링크를 만드는 방법은 여러가지 편리하고, Visual Studio내에서 UE4의 패스가 잘 참조되지 않을 때의 잠정적인 해결법도 되고, 용량이 큰 폴더를 다른 드라이브에 옮겨 심볼릭 링크 로 원래 장소에 있는 것처럼 행동하게 할 수도 있다.
다만, 정션이나 심볼릭 링크를 삭제할 때는, 확실히 원래의 폴더의 내용이 사라져 버리지 않도록 세심한 주의가 필요(unlink나 rmdir등을 사용해 지운다).
Reference
이 문제에 관하여([UE4] "코드 파일 D:\Build\++UE4+Licensee\xxx를 찾을 수 없음"을 해결하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/funatsufumiya/items/482c6e997ccf2e7b33b1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)