sysgcc 크로스 컴파일 할 때, 라이브러리 링크 에러에 대해서 질문드립니다.
- 개발환경 -
운영체제 : Windows 10
개발도구 : Ecplise Neon C++
개발언어 : C++11
크로스 컴파일러 : SysGCC
컴파일 타겟 : arm linux hf
안녕하세요. 크로스 컴파일을 하다가 문제가 생겼는데 해결방법을 찾지 못해서 질문드립니다.
다름이 아니라 제가 프로그래밍을 하다가 ALSA 라이브러리를 사용해야 해서 라이브러리를 링크했는데,
크로스 컴파일러에서 찾지를 못합니다. 그래서 라이브러리가 없나 해서 찾아봤는데 있었습니다. (libasound.so.2, libasound.so.2.0.0)
게다가 같은 위치에 있는 pthread, WiringPi 라이브러리는 링크가 되는데 왜 asound만 링크가 안될까요?
열심히 구글에 검색해봤지만 해결책을 찾기가 어려웠습니다. 그래서 혹시 어떻게 하면 이 문제를 해결할 수 있을까요? 아니면 혹시 ALSA 라이브러리이외에 PCM을 재생시킬 수 있는 방법이 없을까요?
- 크로스 컴파일 에러 -
arm-linux-gnueabihf-g++ -o "HanilProject" ./sources/Audio.o ./sources/Sensor.o ./sources/Server.o ./sources/main.o -lpthread -lWiringPi -lasound
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/4.9/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -lasound
collect2.exe: error: ld returned 1 exit status
컴파일 타임(링크) 엔 libasound.so 가
컴파일 타임(링크) 엔 libasound.so 가 필요합니다.
libasound.so.2 같은 것들은 런타임에 필요합니다.
그렇군요! 알려주셔서 고맙습니다.
그렇군요! 알려주셔서 고맙습니다.
댓글 달기