기본 콘텐츠로 건너뛰기

라벨이 rust인 게시물 표시

Rust를 Webassembly로 컴파일 하기

Rust를 Webassembly로 컴파일 하는 방법과 방법을 정리 해 둔다. 환경 구축이라 순차적으로 따라하면 될것 같지만, 막상 해 보면 시간도 오래 걸리고 잘 안된다. 컴파일 환경 구축 부터  Cargo 로 빌드하는 방법 까지 정리 해 둔다. OS 선택 Rust와 Emscripten이 설치 되는 OS면 된다. Rust는 Windows, Mac, Ubuntu OS에서 실행 되는 것을 확인 했지만 Emscripten은 우분투 최신 버전과 14.04에서만 테스트를 해 보았기 때문에 최신 Ubuntu 기준으로 정리를 해둔다. Docker Image 만들어 두면 편할 것 같았는데, 막상 컴파일 환경을 이미지로 빌드하고 보니 이미지 크기가 25GB 를 넘는 문제가 있다. Rust 설치 Rust 설치와 Cargo에 대한 설명은 Cargo 패키지 시스템 - Cargo로 프로젝트 생성부터 배포까지  참고 안정된 Rust 버전과 wasm32 타겟 설치 rustup install stable rustup default stable rustup target add wasm32-unknown-emscripten Emscripten 설치 참고:  http://kripken.github.io/emscripten-site/docs/building_from_source/building_emscripten_from_source_on_linux.html#building-emscripten-on-linux 우분투 14.04에서는 설치 중에 cmake 버전 때문에 문제가 생긴다. cmake 최신 버전을 설치 해주면 문제 없다. 최신 우분투에서는 아래 순으로 진행하면 된다. docker에서 실행 한 순서 이기 때문에 sudo로 실행하지 않는다. apt-get update apt-get install build-essential apt-get install cma...

Cargo 패키지 시스템 - Cargo로 프로젝트 생성부터 배포까지

왜? Rust를 배워보자 Cargo? Cargo는 Rust 의 패키지 매니저다. 자바의 Maven 이나 Gradle 같은 걸로 생각하면 된다. Cargo로 프로젝트 생성 부터 배포, 커스텀 빌드까지 정리 해 두기로 한다. 목차 설치 프로젝트 생성 빌드 실행 유닛 테스트 실행 배포 커스텀 빌드 설치 기본적으로 Cargo는 Rust와 같이 배포가 되기 때문에 rustc 가 설치 되어 있다면 Cargo도 설치 되어 있다고 보면 된다. 설치는 간단하다. curl https://sh.rustup.rs -sSf | sh info: downloading installer Welcome to Rust! ... Current installation options: default host triple: x86_64-unknown-linux-gnu default toolchain: stable modify PATH variable: yes 1) Proceed with installation (default) 2) Customize installation 3) Cancel installation ... To configure your current shell run source $HOME/.cargo/env 1) Proceed with installation (default)  를 선택해서 진행하면 된다. 설치된 실행 파일들을 자동으로 PATH에 등록되지 않기 때문에 설치 메시지에서 알려 주는 대로  source $HOME/.cargo/env  를 해줘야 한다. ( ~/.bash_profile이나 ~/.profile에 추가해 두면 매번 실행하지 않아도 된다. ) 기본 설치를 하지 않고 2) Customize installation 을 선택하면 stable/beta/nightly 중에서 툴체인을 선택하거나 컴파일 타겟을 바꿀 수 있다. 나중에 필요하면  rustup ...