2012-11-12 2 views
1

나는 우분투 11.10을 사용하고 있습니다. 빌드 할 때 cmak 목록을 사용하는 QT를 사용하여 GUI를 만들고 있습니다. 내가 겪고있는 문제는 make를 실행할 때``Phonon :: VideoPlayer :: VideoPlayer (Phonon :: Category, QWidget *) '에 대한 정의되지 않은 참조를 얻는다는 것입니다.Phonon :: VideoPlayer로 정의되지 않은 참조

QT 4.7.4를 사용하고 있으며이 "Qt PHONON 라이브러리를 찾을 수 없습니다." 또한 make를 실행할 때 나타납니다.

은 라이브러리에 cMakeCache

// 경로에서입니다. QT_PHONONWIDGETS_PLUGIN_RELEASE : FILEPATH =는/usr/lib 디렉토리/I386-리눅스 GNU/QT4/플러그인/디자이너 파일에/libphononwidgets.so

// 경로. QT_PHONON_INCLUDE_DIR : PATH =는/usr// QT4/포논

// Qt는 포논 라이브러리 QT_PHONON_LIBRARY 포함 : STRING =

문자열은 항상 비어 있습니다. 내 헤더 파일에서

는 "포논/위해 VideoPlayer"

포논 :: 위해 VideoPlayer * 플레이어를 포함 관련 코드;

및 CPP에

플레이어 = 새로운 포논 :: 위해 VideoPlayer (포논 :: VideoCategory이);

어떤 도움을 주시면 감사하겠습니다.

감사

야곱

+0

소스에서 컴파일 했습니까? 이 경우에'--phonon' 옵션을 사용 했습니까 – UmNyobe

답변

1

나는 그것이 작동하도록 USR// lib에 I386-리눅스 GNU에 QtSDK/QtCreator/lib 디렉토리/qtcreator에서 4 개 개의 libphonon.so 파일을 복사 할 필요가 끝났다. 도움을

감사합니다 :)

0

이 시도 : 우분투 소프트웨어 센터에서

  1. 은 포논과 libphonon-dev에 설치합니다.
  2. 그 프로젝트 파일 (.PRO)이를 추가 한 후 -> QT + = 포논
  3. 사용이 헤더 파일 :

    #include <phonon/AudioOutput> 
    #include <phonon/MediaObject> 
    #include <phonon/MediaSource> 
    #include <phonon/VideoWidget> 
    #include <phonon/VideoPlayer> 
    
    
    using namespace Phonon; 
    

그리고 이것은 Qt의 문서에서 간단한 예입니다 :

VideoPlayer *player = new VideoPlayer(Phonon::VideoCategory, parentWidget); 
connect(player, SIGNAL(finished()), player, SLOT(deleteLater())); 
player->play(url); 
+0

안녕하십니까, 답변 해 주셔서 감사합니다. UmNyobe에게 make를 사용하는 것만으로도 모든 일을합니다. Milen에게는 QT 라이브러리를 사용하는 대신 .pro 파일을 사용하지 않습니다. VideoPlayer 앞에 Phonon ::을 생략하면 형식이 아닌 것을 불평합니다. 나는 .pro 파일을 가지고있는 모의 프로젝트에서 phonon을 사용하려고 시도했다. QT + = phonon을 추가 한 후에는 잘 작동했는데, 어떤 이유로 cmake가 QT phonon 라이브러리를 찾을 수없는 것 같다. 나는 (QT_USE_PHONON TRUE)를 추가했으나 차이점이 없다. 도와 줘서 고마워. 기타 제안 사항 – swahilian

0

것은 당신이 리눅스가 포논과 libphonon-dev에 설치 사용하는 경우 $ sudo는 apt-get을 프로젝트에 포함 할 수 후 libphonon-DEV

를 포논를 설치합니다.프로 파일 :

LIBS + = -lphonon

만약하지 않습니다 작업을 수행 할 수 있습니다 lib 디렉토리가 설치되어있는 경우 인증서 : $가

libphonon.so 위치

출력은 어쩌면이다 "는/usr/lib 디렉토리/I386-리눅스 GNU/

당신이 당신의 project.pro 파일에 포함 할 수

"libphonon.so : INCLUDEPATH + =는/usr/lib 디렉토리/I386-리눅스 GNU

LIBS + = -lphonon