Linaro-Toolchain 7.1.1을 사용하여 ARM 용 응용 프로그램을 정적으로 크로스 컴파일하려고합니다. 마지막 엘프 파일은 두 개의 공유 객체에 의존합니다. 내 대상 시스템 (예 : libstdC++)에서 사용할 수없는 종속성이 있기 때문에 응용 프로그램을 정적으로 컴파일해야합니다. -L 및 -I 플래그는 makefile에 있으며, 모든 것이 -static 플래그없이 정상적으로 작동합니다. 그러나 내가 -static 플래그를 사용할 때, linaro-linker는 liba.so와 libb.so와 같이 거기에 있다는 것을 알고 있더라도 의존성을 찾을 수 없다고 알려줍니다. 어떤 도움이나 문학을 가리켜 주시면 고맙겠습니다. 저는 온라인에서 연구를 했더니, 저는 완전히 정적을 이해하지 못했습니다.-static을 추가하면 linaro 컴파일러에서 라이브러리를 찾을 수 없음
주셔서 감사 의견에
실행 된 컴파일 및 링커 명령뿐만 아니라 리터럴 진단 텍스트도 제공하십시오. 나는 너를 도울 수 없지만 다른 사람들은 돕는다. –
'.so' 버전이 아니라 정적 링크를 위해'.a' 버전의 라이브러리가 필요합니다. '.so' 버전을 가지고 있다면 왜 바이너리뿐만 아니라 대상 장치에 복사하지 않을까요? – RPGillespie
당신이 무엇을 요구하고 있는지 명확하지 않습니다. 왜 당신이 당신의 라이브러리를 정적으로 링크시킬 수 없는지 궁금해하는 것 같습니다. 질문에 서식을 추가하고 시도한 것에 대한 세부 정보를 제공하는 것이 좋습니다. – Gogeta70