arm 환경의 라이브러리를 따로 다운로드 할 수 있는 방법을 모르겠습니다..
글쓴이: aszsz123 / 작성시간: 일, 2020/05/03 - 11:13오후
gcc-linaro-7.4.1-2019.02-i686_arm-linux-gnueabihf 툴체인 을 사용해서 프로젝트 소스를 빌드 중 입니다.
arm 환경에서 사용가능한 libasound 와 libconv 를 받고 싶은대 방법을 모르겠습니다..!
도움을 주시면 감사하겠습니다.
Forums:
..
DLL이 빌드 타임에 필요한데 없어서 문제인 상황 같습니다. target machine에 이 라이브러리가 설치되어 있나요? 예컨대 Debian이고 Debian package로 저 두 라이브러리가 의존관계로 설치되거나 한가요?
제가 해보진 않았지만 그런 경우라면 cross-compiler보다 arm 환경의 docker container를 받아서 그 위에 host native compiler를 설치하시고 그걸 x86 빌드 머신 위에 qemu로 올리는 것도 괜찮다고 생각합니다.
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/
이미 크로스 컴파일러가 있으시니, hello world를 찍는 C 파일을 크로스 컴파일 하시고, 그냥 x86 호스트 머신 터미널에서 수행했을 때, hello world가 제대로 나오면 qemu 설치가 대충 된 거라고 생각하시면 될 것 같습니다. (정확하진 않아요, 저는 Gentoo라서 위 링크의 qemu 설치 설명하고 좀 다릅니다)
Qemu가 설치되면 arm docker container를 x86 host 위에서, qemu 위에 돌릴 수 있어야 합니다. 위 링크가 그 방법을 설명하고 있습니다.
이게 되면, 기본적으로 docker container 안에 gcc, g++ 등 빌드 툴을 설치하셔야 되는데, 이 경우는 그냥 x86 머신에서 x86 바이너리를 만들 듯, arm 머신에서 arm 바이너리를 만드는 거랑 비슷합니다. 그냥 정규 패키지 (build-essential 같은)를 설치해서 빌드하시면 되고, 말씀하신 라이브러리는 높은 확률로 패키지가 있을 테니 yum 이나 apt 같은 것으로 설치하시면 됩니다.
이게 아니라 타겟 플랫폼에 리눅스도 없는 상황이거나 패키지 매니저가 없는 상황이라면..
1. 해당 라이브러리의 소스를 받아 static library로 빌드한 다음 링크하는 방법
2. 해당 라이브러리의 소스를 받아 DLL로 빌드하고, 프로젝트 빌드할 때 경로 추가해 주는 방법
3. 해당 라이브러리의 바이너리를 .deb 같은 걸로 받아 압축을 풀어 카피하고, 거기 있는 .so 파일을 -L -l 옵션 같은 걸로 크로스 빌드 툴 체인에 인식시켜 주는 방법
같은 게 있을 것 같습니다.
댓글 달기