(WebRTC Example) 1. 프로젝트 빌드하기

Posted by : at

Category : OpenSource



만약 직접 빌드하기 귀찮다면?

위 코드를 그냥 사용해도 무방함.


사전사항

python 2.7.x 버전설치

설치 후 path에 환경변수 선언 잊지말기(위 그림처럼 하면 됨.)

# pywin32 설치(업데이트)
$ python -m pip install pywin32

Windows10 SDK 설치

VS Installer에서 설치되는거 보다 홈페이지에서 다운 받는걸 추천 경로의 차이가 있다.

depot_tools 설치

$ mkdir depot_tools
$ cd depot_tools
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$ cd depot_tools
# 예제에서는 WebRTC 70 버전을 사용할 예정이고 depot_tools도 버전을 맞춰야한다.
$ git checkout c68a1753c53a02b1bd292035e4a72a18e55814f3
$ gclient # webrtc 버전관리도구 설치

depot_tools 환경변수 선언

PATH = ~webrtc\depot_tools\depot_tools

gclient가 있는 폴더를 PATH에 넣으면 된다.

DEPOT_TOOLS_WIN_TOOLCHAIN = 0

WebRTC 다운

$ mkdir webrtc-checkout

$ cd webrtc-checkout

# fetch --nohooks: git의 history는 복사하지 말아달라
# gclient는 checkout도구이고 fetch는 일종의 wrapper라 생각하자
# (오래걸리니 참고)
$ fetch --nohooks webrtc

$ cd src

# branch -r : 원격 저장소의 브랜치를 보여달라
# 꼭 안해도 됨.
$ git branch -r

# 예제에선 70을 쓰기에 70으로함. 
# 자신에 버전에 맞게 선택
$ git checkout branch-heads/70

$ gclient sync --force    # 이거 꼭 해야함.

빌드

여기서 진행안될 수 있음.

webrtc src 폴더내에서 진행

:: 환경변수 선언
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2017
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_DEFINES=component=shared_library target_arch=x64

:: mkdir
mkdir out
cd out
mkdir vs2017-x64-debug
mkdir vs2017-x64-release
cd ..

:: x64 Debug
call gn clean out/vs2017-x64-debug
call gn gen out/vs2017-x64-debug --winsdk="10.0.18362" "--args=is_debug=true is_clang=false symbol_level=2 rtc_use_h264=true target_cpu=\"x64\""
call ninja -C out/vs2017-x64-debug webrtc

:: x64 Release
call gn clean out/vs2017-x64-release
call gn gen out/vs2017-x64-release --winsdk="10.0.18362" "--args=is_debug=false is_clang=false rtc_use_h264=true target_cpu=\"x64\""
call ninja -C out/vs2017-x64-release webrtc

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links