라즈베리파이용 Rust 컴파일
Situation Rust를 공부하면서 활용하는 방안을 생각하던 중, Rust가 C/C++을 대체하는 빠른 언어라는 점에서 라즈베리파이와 잘 어울린다는 글을 읽었습니다. 그래서 아무 생각없이 라즈베리파이에서 Actix를 컴파일 했더니...몇시간 걸리더군요 ㅡ.ㅡ 사실 너무 오래 걸려서 중간에 끊었습니다. 그리고 크로스컴파일을 하기로 했습니다. arm64에서 이미 한번 해봤기때문에 별로 어려울 건 없었습니다. Task Rust project 생성 컴파일 환경 세팅 크로스컴파일 실행파일 라즈베리파이로 전송 및 실행 뭔가 많은 부분이 생략된 것같지만, 진짜 기분탓입니다. 그냥 이렇게 하면 간단하게 끝납니다. Action Rust Project 생성 Hello Rust 프로젝트 하나 생성합니다. rust 설치는 여기서 다루지 않습니다. $ cargo new hellorust Created binary (application) `hellorust` package $ cd hellorust/ 컴파일 환경 크로스컴파일러를 설치하고 러스트에 컴파일 타겟을 지정합니다. sudo apt install gcc-arm-linux-gnueabihf rustup target add armv7-unknown-linux-gnueabihf 크로스컴파일 설치한 크로스컴파일러의 링커를 설정해 줍니다. .cargo/config 파일을 생성하고 아래 내용을 붙여넣기합니다. [target.armv7-unknown-linux-gnueabihf] linker = "arm-linux-gnueabihf-gcc" 타겟을 지정해서 컴파일 합니다. $ cargo build --target=armv7-unknown-linux-gnueabihf Compiling hellorust v0.1.0 (/mnt/d/work/hellorust) Finished dev [unoptimized + debuginfo] target(s) in 4.59...