0%

Windows 환경에서 Rust 컴파일 link 에러

Windows 환경에서 msvc 없이 Rust를 실행하기 위한 추가 설정 방법을 정리합니다.

1
the msvc targets depend on the msvc linker but `link.exe` was not found

오류 설명

개인 컴퓨터로는 mac을 쓰고 있어서 rust를 설치하는게 어렵지 않았다. 그냥 rustup 다운 받아서 실행하면 컴파일러까지 알아서 셋팅해주었고, 이후 소스 파일을 컴파일하는 것도 문제 없었다. 하지만 윈도우 환경은 조금 달랐다. 윈도우 버전 rustup을 설치한 후, 바로 소스 파일을 컴파일하면 위와 같은 컴파일 오류가 발생한다. 이는 윈도우 버전 rust가 디폴트로 가지고 있는 툴체인이 msvc이기 때문이다.

msvc(microsoft visual C++)는 마이크로소프트에서 제공하는 툴체인(통합개발도구)으로 보통 C, C++ 코드를 빌드하고 디버깅할 때 사용하는 도구이다. 당연히 회사 노트북에는 msvc가 설치되어 있지 않았고, 그렇기에 rust가 컴파일 도중 에러를 일으킨다.

해결 방법

처음에는 msvc를 설치하려고 했으나 다른 방법을 찾았다.

바로 gnu으로 셋팅하여 사용하는 것이다. gnu는 실제 윈도우 컴퓨터이지만 리눅스에서 개발하는 것과 같은 환경을 제공해준다. 러스트는 msvc, gnu를 모두 지원하기 때문에 툴체인 디폴트값만 변경해주면 되는 것이다. 변경 방법은 cmd에서 아래의 코드를 입력해보자.

1
rustup default stable-x86_64-pc-windows-gnu

그 다음 다시 소스 파일을 컴파일하면 문제 없이 진행된다.