* 수정1(2022-01-16) : 2번째 실패 업데이트
* 수정2(2023-09-27) : 레트로아크 구동성공으로 링크.
* 레트로아크 기종별 구동법 정리글 (PC98기종 NP2KAI 포함) : https://soulslip.tistory.com/361
=================== 아래는 예전 글 =========================
프로그램을 찾다 보면, GitHub에서 exe를 배포하지 않고 코드만 있는 경우가 있다. 이 경우 개발자가 exe를 만드는(컴파일,빌드) 방법을 적어 놓는다.
근데 이걸 시도해 보았는데 보통 사람이 하는게 아닌 듯 하다. 무슨 한 단계를 넘어갈 때마다 에러가 뜨고 해결에 보통 시간이 날아가는 게 아니다.
NP2KAI라는 PC-98 에뮬레이터를 빌드 시도하다 실패과정을 기록한다.
- 주소 : github.com/AZO234/NP2kai
● 빌드 방법에 적혀있는것1 - libretro core (dll)
글도 알아보기 힘들게 적혀있는데, Libretro(알고보니 레트로아크 인듯?)용 dll파일을 빌드하는 방법이 다음과 같다.
◐ MSYS2설치 + 기타 설치 + sdl폴더에 가서 make입력
이 과정을 하기위해 수많은 단계가 필요한데,
1. MSYS2라는걸 받아서 설치해야 한다. (윈도우에서 터미널로 열리는 프로그램. 리눅스명령어를 써야 함)
2. 터미널(64bit) 실행해서 다음 과정을 모두 입력해야 함.
> pacman -Syu : 업뎃프로그램 업데이트 (도중에 y누르고 한번 종료되면 재실행해서 똑같이 입력해야함)
> pacman -S base-devel : make 명령어 등이 깔리는듯
> pacman -S gcc : g++컴파일러 깔리는 듯
> pacman -S mingw-w64-x86_64-toolchain
> pacman -S git : 아래 vcpkg 등 코드 받을때 이게 필요.
> pacman -S cmake : MSys64/usr/bin 에 cmake.exe 가 설치됨
(추가) > pacman -S ninja : MSys64/usr/bin 에 ninja.exe 가 설치됨
msys64\mingw64\bin 와 msys64\usr/bin 경로를 윈도우 환경변수에 추가해야 한다.
: 윈도우키 + Pausebreak 를 누르거나, 윈도우10은 '고급시스템설정' 검색 하면 나온다.
(만약 make를 입력해서 파일이 없다 나오면, pacman -S make 로 개별 설치하는 방법이 있다)
위 과정을 다 한 후
> 'git clone https://github.com/AZO234/NP2kai': 해당 주소에서 코드들을 내려받는다. 다운로드 위치는 Msys2 설치폴더\home\<아이디>\ 에 받아지고, 터미널 상에서 'ls'(도스의 dir과 같은명령) 입력시 볼 수 있다.
★ 브라우저상에서 버튼눌러 다운로드 하면 안되고, git clone~으로 받아야 repository 정보가 같이 저장되서 진행가능케 된다.
> cd np2kai (문자는 2개쯤 입력하고 탭키를 누르면 자동완성이 됨)
> cd sdl
> make : 'Makefile'이란 파일을 이용해 빌드하는 명령어이다.
를 입력해야 하는데, 반드시 터미널은 Msys가 아닌 MinGW-64bit 터미널로 실행해야 된다.(문의하여 알아냄) 안그러면 유니코드 오류가 난다.
=> 이걸 다 하면 dll파일 하나가 생성된다. 이걸 레트로아크에 넣으면 쓸 수 있는것 같지만 난 필요없다. 헛고생 한 셈이다.
빌드된 파일
● 빌드 방법에 적혀있는것2 (.exe) - Visual Studio
아마도 Visual Studio 에서 빌드하라는 뜻인듯 한데, 과정이 장난이 아니다.
◐ Visual Studio 2019 설치 - 무료인 커뮤니티 버전 설치가능 (개발자는 수많은 모듈들을 설치하라고 적어놨는데...)
=> 실행후 도구 -> '도구 및 기능 가져오기'로 항목들을 설치할 수 있다. 설치하라고 하는걸 다 설치해야 한다.
◐ vcpkg 설치
=> 이것도 exe가 없고 코드만 있어 직접 만들어야 하므로 골때린다.
- 터미널 상에서 설치해야 하는데, 마찬가지로, 홈페이지 https://vcpkg.io/en/getting-started.html 에 나온대로,
'git clone https://github.com/Microsoft/vcpkg.git' 해서 코드 받고(필수), bootstrap-vcpkg.bat파일 실행하면 또 에러 : could not find msbuild version
(msys터미널 상에서 실행하려면 './bootstrap-vcpkg.bat' 으로 입력해야 한다. 앞의 './'는 '현재 폴더'라는 의미다.
- 검색결과 비주얼스튜디오에서 데스크톱 c++ 환경을 설치하라고 하는데 무려 15G나 잡아먹는다...설치하고 시도했는데 이번엔 'Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ ~' 에러가 난다 (분명히 설치했는데도)
=> 검색결과, 개발자가 써놓은 방법대로 하면 안되고, 윈도우의 cmd에서 vcpkg를 받은 경로로 이동 후 bootstrap-vcpkg.bat파일을 실행하면, 유니코드 경고는 뜨지만, 빌드가 되었다.
(윈도우 cmd상에서 드라이브 이동은 예를들어 cd d: 이런식으로 입력하면 된다)
빌드된 파일(윈도우7 -> 수정됨 : 윈도우10에서)
그러나 코드까지 같이 있어야 아래 과정을 할 수있다.
윈도우10에서는 다음과같은 에러가 떠서 빌드가 안됐고 실행해도 어째선지 아무것도 안뜬다. 검색해보니 코드 업데이트를 기다려야 할듯. -> 2022-01-16 해결됨.
◐ vcpkg install 로 다음 패키지들 설치 : English Language Pack이 없다면서 에러를 뱉는다. 비주얼스튜디오 '도구 및 기능 가져오기'로 이번엔 '언어팩' ->'영어'를 설치해야 한다.
패키지를 인터넷에서 받는게 아니고, vkpkg 코드의 하위폴더들에 있는 패키지를 설치(빌드)하는 거였다.
* SSL : cmd 상에서 vcpkg.exe가 생성된 폴더로 이동 후, 'vcpkg install ssl' 을 입력하면 된다.
=> 'vcpkg install openssl' 입력 (위에서 git로 vcpkg 코드를 받는 과정 필수. 하위폴더에 openssl이 있어 이걸 쓰는 것이다. 시간 오래걸림)
* 마찬가지로 SDL2 설치
- 'vcpkg install sdl2' 입력
- 'vcpkg install sdl2-mixer' 입력 (np2kai개발자가 써놓은것과 달리 밑줄이 아니라 대쉬(-)였음. 하위폴더에 sdl2-mixer가 있다.)
- 'vcpkg install sdl2-ttf' 입력
* libusb 설치 : 'vcpkg install libusb' 입력
- (다설치후 ) 'vcpkg integrate install' 입력 : 설치된 패키지를 쓸수있게 된다함.
◐ Ninja 설치 : 컴파일 빠르게 해주는 툴이라 함 : 설치실패
이것도 좀 골때린다. 버전업 되면서 설치방법이 변한듯.
- msys터미널(루트=home 폴더)에서 'git clone github.com/ninja-build/ninja ' 입력해서 코드를 받는다.
- ninja폴더 (cd ninja) 에서 컴파일을 해야 하는데, 개발자가 써놓은 파이썬 파일을 이용한 방법은 오류를 뱉으며 되지 않았다 (분명 파이썬은 깔려 있다)
그래서 cmake를 이용한 방법을 써야 한다 : 다음 두 단계를 거쳐야 한다.
1. cmake -Bbuild-cmake -H. : 빌드 준비 파일 생성
2. cmake --build build-cmake
=> sys/select.h 파일 없다며 에러
=> Ninja는 패스하기로 했다. 어차피 속도만 빠르게 해주는 것이기에.
파이썬 깔리고, 환경변수에 추가되었다면, cmd에서 'pip install ninja' 를 하면, 파이썬\Scripts 폴더에 ninja.exe파일이 생긴다.
(파이썬 설치후 경로설정은 https://soulslip.tistory.com/131 초반부 참조)
◐ 비주얼스튜디오에서 빌드
- 열기 -> Cmake 에서 NP2Kai에 있는 CMakeLists.txt파일을 로드
ㅁ 에러1 : 근데 이번엔 'Need Git Command~' 어쩌고 에러 : 다시 도구에 가서 'Git for Windows' 설치해야 함.
ㅁ 에러2 : 설치하니 이번엔 'Not found vcpkg 에러가 뜸. vcpkg integrate install 을 입력한 후에도 같은 에러이고, 환경변수 경로에 vcpkg.exe를 넣어도 같은 에러다.
=> 환경변수에 VCPKG_ROOT를 추가하고, 거기에 vcpkg.exe 파일을 넣어놓아야 한다.
ㅁ에러3 : 이번엔 Could Not find WDK 에러 (CmakeLists.txt 파일을 열때 발생하는 에러)
분명 위 스샷에도 나와있듯 Windows SDK는 설치되어 있음에도.
=> 검색결과 다음 링크 docs.microsoft.com/ko-kr/windows-hardware/drivers/download-the-wdk 의 '2단계~'에 설치파일이 있으므로 다운로드 하여 실행하는데,
이번엔 SDK를 못찾는다 나온다. 비주얼스튜디오에 깔렸는데???
=> 이번엔 developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk/ 페이지에 '설치관리자 다운로드'를 다운로드해서 먼저 설치해 본다. 2G대를 처먹는다.
설치후 위의 WDK를 설치하면 설치가 된다.
그러나 설치 후에도 위의 Cound NOT find WDK (missing: WDK_LATEST_NTDDK_FILE 오류가 나서 마땅한 방법을 찾지 못했다.
(추가) 누군가 빌드 성공한 exe를 올려주면 좋겠다.
■ 2차 실패 - 비주얼스튜디오에서 빌드
CMakelists.txt 를 불러온 후 여기서 막혔다. 비주얼스튜디오 이전버전에선 빌드시도는 됐었는데, 이젠 시도도 안된다.
CMakelists 의 문법 문제로 추정된다.
▲ Ninja를 이용해 빌드하려해도 같은곳에서 에러가 난다. 문법해석 실패이다.
=> git.exe 가 있는 경로를 환경변수에 추가하면 되었으나, 이후로도 이러한 수많은 에러 (WDK경로, libusb경로)가 연속해서 떠서 진행이 불가하다 판단.
개발자만 가능한 과정인 것 같다.
'게시판_프로그램' 카테고리의 다른 글
삼성핸드폰 업데이트 할땐 신중히 (수정1) / 삼성 갤러리 OneDrive 뜨는 증상 (0) | 2020.11.09 |
---|---|
크롬 등 브라우저에 검색시 gotosearchresultpage.helpstart.co.kr 광고 탭이 뜨는 현상 드디어 해결 (0) | 2020.11.04 |
메인보드 사용경험 메모 - ASUS(아수스), 기가바이트, ASROCK(애즈락) (0) | 2020.08.07 |
원격 데스크톱 설정방법(공유기 통과해야 할때) 메모 (0) | 2020.07.29 |
(2020년) Pycharm 파이썬 경로설정 법 + 경로설정 해도 에러 error running program c:\~ 해결 (4) | 2020.05.05 |