[Rust] 크레이트 링크하기
프로그램을 짜다보면 당연히 소스들을 독립적으로 모듈화해서 갖다쓸 경우가 많다.
그리고 Rust에서는 그 모듈의 단위가 crate다.
본 포스트에서는 crate를 쪼개서 연결하는 방법을 간략하게 다뤄보겠다.
crates.io 사용하기
crate를 땡겨쓰는 가장 대표적인 방법은, crates.io에 배포되어있는 것을 패키지명으로 사용하는 것이다.
배포하는 방법은 아래 포스트를 참조하길 바란다.
https://m.blog.naver.com/sssang97/222030627195
정상적으로 배포되어있는 crate라면 다음과 같이
크레이트명 = "버전"의 형태로 의존성에 명시, 자동으로 가져와서 연결하도록 할 수 있다.
그럼 이렇게 바로 모듈의 형태로 접근해서
사용할 수 있다.

레포지토리로 가져오기
crates.io를 거치지 않고 깃허브, 깃랩 등에서 바로 가져올 수도 있다.
레포지토리로 가져오더라도 crate로서 가져야할 형식은 동일하게 갖추고 있어야 한다.
아래처럼 정상적인 레포지토리가 있다면

링크를 복사해서 아래와 같은 형식으로 입력해주면 된다.
= { git = "링크", branch = "선택할 브랜치" }

그럼 잘 될 것이다.

로컬 소스 링크
네트워크를 거치지 않고 로컬 내 다른 경로의 프로젝트를 링크할 수도 있다.
링크할 프로젝트도 마찬가지로 하나의 완전한 크레이트로서 유효한 상태여야만 한다.
테스트를 위해 현재 프로젝트 위치 아래에 서브프로젝트로서 추가해보겠다.

그리고 path로 해당 프로젝트의 경로를 적어주기만 하면 된다.

그럼 잘 될 것이다.

그렇다.
참조
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html