파워쉘에서 C언어 컴파일

배진오

@baealex

소비적인 일보단 생산적인 일을 좋아합니다.

우선 윈도우에서 터미널을 활용하여 컴파일을 진행하기 위해선 Visual Studio의 설치가 선행되어야 한다. 이 글은 Visual Studio 2019를 기준으로 작성된다. 우선 Visual Studio를 설치하면 VS 명령 프롬프트가 함께 설치되는데 해당 프롬프트가 존재함에도 굳이 파워쉘을 사용하려는 이유는 VS 명령 프롬프트의 실행 속도(동작 가능한 상태가 되기까지의 시간)가 매우 느리기 때문이었다. 또한 Powershell을 주로 사용하므로 컴파일까지 할 수 있게 된다면 매우 편리할 것 같았다.

옛날 자료들을 찾아보니 Visual Studio 2019(이하 VS2019)와 경로가 다른 것 같아서 조금 해맸다. VS2019에는 cl.exe가 다음과 같은 경로에 총 4가지가 있다. 자신의 환경에 맞는 버전을 선택하면 될 것 같다.

bin\Hostx64\x64
bin\Hostx64\x86
bin\Hostx86\x64
bin\Hostx86\x86


STEP. 1

윈도우키를 누르고 '환경 변수'를 입력하여 '시스템 환경 변수 편집'을 들어가자.

시스템 환경 변수 편집

위 화면에서 path에 다음과 같은 내용을 추가한다.

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64

우선 위에서도 언급했듯 자신의 환경에 맞게 설정하자.

CL

그럼 이제 VS 프롬프트가 아닌 터미널에서도 cl 명령어를 사용할 수 있게 된다. 다만 헤더파일을 정상적으로 찾아오지 못하는 오류가 있음을 확인할 수 있다.


STEP. 2

VS 프롬프트를 다시 실행시켜서(이제 더이상 만날일 없다!) 프롬프트에 등록된 INCLUDELIB의 환경변수를 SET을 이용하여 출력하자.

SET INCLUDE
SET LIB

VS 프롬프트

그럼 위와같이 등록된 환경변수가 등장한다. 이걸 '사용자 변수' > '새로 만들기'에 추가해준다.

Example

위와같이 등록해주면 된다.

등록 후 모습

결과적으로 위와같은 모습이 된다.


Note.

컴파일 실패

환경변수도 잘 등록했고 헤더파일도 잘 찾아오는데, 안타깝게 컴파일이 실패했다. 운영체제 비트수의 문제라고 하는데 환경변수를 바꿔보면 잘 될까?

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\bin\Hostx86\x86

path에 등록된 cl의 경로를 x86으로 변경했더니 잘 동작했다.

컴파일 성공

파워쉘이 한층 강력해졌다!

mildsalmon
6개월전 (Edited)

아... 이거 어제 필요했던건데...호호호

댓글을 작성하기 위해 로그인이 필요합니다.