본문 바로가기

해킹

리눅스에서 윈도우 바이너리 만드는 방법

 

안녕하세요. 이번 글에서는 리눅스에서 윈도우 바이너리를 만들기 위한 크로스 컴파일 방법을 작성합니다. 

세상에는 굉장히 많은 오픈소스 라이브러리들이 있는데요. 대부분이 리눅스 기반으로 제작된 것들이라서 

윈도우에서 사용하려면 꼭 해야하는 작업입니다. 

그러므로 만약 필요한 상황이 되면 찾아 볼 수 있도록 정리합니다.

 

아래의 명령어를 이용하여 윈도우전용 컴파일러를 설치할 수 있습니다.

sudo apt-get install mingw-w64
sudo apt-get install gcc-mingw-w64

 

이제 MXE라는 라이브러리를 이용해 윈도우 전용 컴파일러를 설치할건데요

시간이 많이 걸리는 작업이지만 손쉽게 윈도우 컴파일 환경을 구성할 수 있습니다.

# MXE의 소스코드를 내려 받는다.
git clone https://github.com/mxe/mxe.git
cd mxe

# 크로스컴파일할 타겟을 64비트 윈도로 지정한다.
echo MXE_TARGETS=x86_64-w64-mingw32.static > settings.mk

# GCC를 포함한 기본적인 컴파일 환경을 컴파일한다.
make cc

 

위 작업이 완료되면  윈도우 환경에서 사용할 수 있는 실행파일을 만들 수 있습니다. 

x86_64-w64-mingw32.static-gcc -o test.exe test.c

 

그래도 cygwin을 설치해서 윈도우에서 컴파일하는게 더 편할 때도 있습니다.