본문 바로가기
프로그래밍/GLibㆍGTKㆍGstreamer

윈도우 GNU, MSYS2 개발환경 구축

by makepluscode 2022. 12. 3.
반응형

윈도우에서 GNU 개발하기

Windows 에서 GNU 프로젝트하면서 개발환경 구축한 과정을 기록한다. mingw 와 같은 훌륭한 도구가 있기에 윈도우에서 GNU 프로그램을 개발할 수 있다. 하지만 운영체제 차이로 개발이 쉽지는 않다. GNU 프로젝트는 가급적에서 리눅스에서 하는것으로 추천한다.

GNU 그래픽 툴킷, GTK

테스트 환경

  • Windows10, MSYS2 MINGW64, gcc (Rev6, Built by MSYS2 project) 12.2.0

Windows 에 MSYS2 를 설치한다. MSYS2 를 통해 리눅스 유사한 shell 환경으로 들어갈 수 있다.

Pacman 업데이트

Windows MINGW 환경의 패키지 매니저 pacman 을 업데이트 하자.

$ pacman -Syu
:: Synchronizing package databases...
 mingw32                        1741.7 KiB   831 KiB/s 00:02 [###############################] 100%
 mingw64                        1756.3 KiB   844 KiB/s 00:02 [###############################] 100%
 ucrt64                         1805.6 KiB   807 KiB/s 00:02 [###############################] 100%
 clang32                        1727.0 KiB   692 KiB/s 00:02 [###############################] 100%
 clang64                        1746.9 KiB   435 KiB/s 00:04 [###############################] 100%
 msys                            410.8 KiB   563 KiB/s 00:01 [###############################] 100%
:: Starting core system upgrade...
warning: terminate other MSYS2 programs before proceeding
resolving dependencies...
looking for conflicting packages...

Packages (5) bash-5.2.009-1  filesystem-2022.01-6  mintty-1~3.6.2-1  msys2-runtime-3.3.6-5
             pacman-6.0.1-25

Total Download Size:   12.03 MiB
Total Installed Size:  58.50 MiB
Net Upgrade Size:       1.01 MiB

Pacman 을 통한 개발 패키지 설치

pacman 을 통해 개발에 필요한 필수 패키지를 설치한다.

$ pacman -S base-devel gcc vim cmake
resolving dependencies...
looking for conflicting packages...

Packages (28) binutils-2.39-2  bison-3.8.2-4  diffstat-1.65-1  diffutils-3.8-4  dos2unix-7.4.3-1
              flex-2.6.4-3  gperf-3.1-5  groff-1.22.4-4  isl-0.25-2  jsoncpp-1.9.5-1
              libarchive-3.6.1-2  librhash-1.4.2-1  libuv-1.42.0-1  m4-1.4.19-2  make-4.3-4
              mpc-1.2.1-2  msys2-runtime-devel-3.3.6-5
              msys2-w32api-headers-10.0.0.r16.g49a56d453-1
              msys2-w32api-runtime-10.0.0.r16.g49a56d453-1  patch-2.7.6-2  pkgconf-1.8.0-2
              texinfo-6.8-6  texinfo-tex-6.8-6  windows-default-manifest-6.4-1
              base-devel-2022.01-2  cmake-3.23.2-1  gcc-11.3.0-2  vim-8.2.5117-2

Pacman 을 통한 GNU 라이브러리 설치

pacman 을 통해 GNU 라이브러리, gtk 와 gst-reamer 를 설치한다.

$ pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-gst-plugins-base \
    mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugins-bad  \
    mingw-w64-x86_64-gst-plugins-ugly mingw-w64-x86_64-gstreamer

관련자료

Windows 에 MSYS2 를 설치하기 위해 아래 MSYS2 공식 홈페이지를 참고한다.

https://www.msys2.org/docs/environments/

 

MSYS2 - Environments

The differences between the environments is mainly between environment variables, default compilers/linkers, architecture, system libraries used etc.

www.msys2.org

반응형