질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

cross compiler와 qt-embedded의 관계

작성자 정보

  • 손주영 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요~~ 저는 다빈치 보드로 공부하는 학생인데요~~

다빈치 보드에 qt 를 올려서 GUI를 구현하려고 합니다.

일단 QT버전은 qt-embedded-2.3.10버전을 사용하는데요~~

요놈이 Cross compiler (다빈치 보드에서는 arm_v5t_le- 의 컴파일러 제공)로 컴파일 하면 라이브러리는 잘 생성이 되었습니다.

#file libqte~~ 요러케 확인 해봤거등요~~ 참고 문서에 나온것 처럼요~~

그래서 이넘을 보드로 보냈구요~~

그런 다음에 test app.을 빌드해서 포팅해 보려고 하니 크로스 컴파일이 안되네요~~

tmake1.13을 사용해서 Makefile만들어 줬구요~~

Makefile에서 CC = arm_v5t_le-gcc         CXX = arm_v5t_le-g++  이런식으로 된거 다 확인했거등요~~

그리고 나서 make를 하면

========================================================================

qte-2.3.10/lib/libqte.so : undefined reference to 'operator new[ ] (unsigned int)'

qte-2.3.10/lib/libqte.so : undefined reference to '__cxa_pure_virtual'

qte-2.3.10/lib/libqte.so : undefined reference to 'operator delete[ ] (void*)'

qte-2.3.10/lib/libqte.so : undefined reference to 'operator now(unsigned int)'

=======================================================================

이런 에러가 나오네요~~

제가 워낙에 초보라서 잘 모르거등요~~

크로스 컴파일러와 QT 버전간에 관계가 있나요??

관련자료

댓글 3

신성철님의 댓글

  • 신성철
  • 작성일
환경 변수나 Makefile 설정이 잘못되어 발생하는 에러 메세지로 보입니다.
관련 정보를 보여주시면 확인해 보겠습니다...^^

손주영님의 댓글

  • 손주영
  • 작성일
root@board:/# export -p
declare -x HOME="/root"
declare -x HUSHLOGIN="FALSE"
declare -x HZ="100"
declare -x LD_LIBRARY_PATH="/root/qt/lib:"
declare -x LOGNAME="root"
declare -x MAIL="/var/mail/root"
declare -x OLDPWD="/root"
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/sbin:/usr/sbin:/sbin"
declare -x PS1="\u@\H:\w\$ "
declare -x PWD="/"
declare -x QTDIR="/root/qt"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x TERM="linux"
declare -x USER="root"
root@board:/#

손주영님의 댓글

  • 손주영
  • 작성일
헉!! 실수로 makefile지워 졌어요~~
근데요~~ 컴파일은 성공을 했는데요~~
보드에서 실행이 되지 않네요~~
/dev/fb0를 열수 없다고 나오는데요~~
이럴땐 어떻게 해야하나요??
참고로 /dev/fb0가 있는건 확인을 했습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,070 명
  • 현재 강좌수 :  35,982 개
  • 현재 접속자 :  347 명