예시로 SDL을 사용하는 어플리케이션을 크로스컴파일 한다고 가정하겠습니다.
현재 컴파일이 진행되는 x86 PC에는 SDL 라이브러리가 설치되었고 해당 어플리케이션의 컴파일 또한 문제없이 이뤄졌습니다.
다만 크로스 컴파일을 할 때 링킹 타임에 "skipping incompatible /usr/lib/libSDL.so" 와 같은 에러가 발생하면서
컴파일이 진행되지 않습니다. 위에서 언급한 libSDL.so 은 당연히 x86용 라이브러리이기 때문에 arm 크로스 컴파일러에서는
당연히 사용하지 못하는게 맞겠지만요.
처음 예상으로는 동적라이브러리(.so 파일)는 경우 실행시 로더에서만 필요하고 컴파일시에는 헤더 정보만 있으면 된다고 생각했었습니다.
따라서 헤더 정보만 존재하면 컴파일은 문제없이 이뤄질거라 생각했습니다. 원래 크로스 컴파일을 할 때 정적라이브러리(.a)의 경우
당연히 해당 CPU에 맞게 컴파일된 라이브러리가 필요하겠지만, 동적 라이브러리의 경우는 그렇지 않다고 생각하는데요.