우분투 Qt4 phonon 설치해서 리눅스에서 동영상 플레이하기

Posted by 빵빵빵
2010/11/18 18:40 전산(컴퓨터)/Qt



출처 : http://www.korone.net/bbs/board.php?bo_table=qt_qna&wr_id=17215

1. 우분투 10.04를 다운 받았습니다.

2. 우분투를 CD로 굽은 뒤에 설치를 하였습니다.

3. root 계정으로 로그인

4. 우분투 소프트웨어 센터에서 QT라고 치면 나오는
        QT4 Assistant
        QT4 Designer
        QT4 Linguist
        QT Creator
    를 설치 하였습니다.

5. ftp://ftp.trolltech.com/qt/source/에 접속하여
    qt-everywhere-opensource-src-4.6.2.tar.gz를 다운 받습니다.
    다운 받은 장소는 /usr/local/에 다운을 받았습니다.

6. gunzip qt-everywhere-opensource-src-4.6.2.tar.gz
    tar xvf qt-everywhere-opensource-src-4.6.2.tar
    로 압축을 풀었습니다.

7. #vi /etc/profile에 들어 가서
    QTDIR=/usr/local/qt
    PATH=$QTDIR/bin:$PATH
    MANPATH=$QTDIR/doc/man:$MANPATH
    LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
    export QTDIR PATH MANPATH LD_LIBRARY_PATH
    를 추가 한 후
    #source /ect/profile를 하였습니다.


8.  압축 푼 폴더로 가서
              ./configure
        make => 4시간 정도 걸리더군요;;
        su -c "make install"
        make install
     이렇게 설치를 하였습니다.

9. #cd ~root
    #vi .profile
    한 뒤
    PATH=/usr/local/rt/bin:$PATH
    export PATH
    를 추가 해주었습니다.

10. 우분투 소프트웨어 센터에 들어가서 codec이라고 치면 나오는
       189개의 패키지나 프로그램 모두 설치 하였습니다.

11. 우분투 소프트웨어 센터에 들어가서 gstreamer이라고 치면 나오는
      123개의 패키지나 프로그램 모두 설치 하였습니다.

12, QT4 Designer에 들어가서 phonon::videoplayer를 다이얼로그창에 띄운 후
      재생이 되는 걸 확인 한 후 ui를 저장하고
      QT Creator에서 프로젝트 파일을 만든 후 Designer에서 만든 ui를 포함시키고
      main.cpp를 생성 한 후

      ========================================================
        #include <QApplication>
        #include "ui_test.h"

        int main(int argc, char *argv[])
        {
            QApplication app(argc, argv);

            app.setApplicationName("AA");
            QDialog *dialog = new QDialog;
            Ui::test_Dialog ui;
            ui.setupUi(dialog);

            dialog->show();

            return app.exec();
        }
      ========================================================

     이렇게 해서 실행을 시키게 되면
      =======================================================================    
        Running build steps for project test3...
        Configuration unchanged, skipping QMake step.
        Starting: /usr/bin/make -w
        make: Entering directory `/usr/local/qt/test/test3'
        g++ -c -pipe -g -g -Wall -W -D_REENTRANT -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.6.2/mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include/QtGui -I../../include -I.moc/debug-shared -I.uic/release-shared -o .obj/debug-shared/main.o main.cpp
        g++ -Wl,-rpath-link,/usr/local/qt/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.6.2/lib -Wl,-rpath,/usr/local/Trolltech/Qt-4.6.2/lib -o test3 .obj/debug-shared/main.o -L/usr/local/qt/lib -lQtGui -L/usr/local/qt/lib -L/usr/X11R6/lib -lQtCore -lpthread
        .obj/debug-shared/main.o: In function `Ui_test_Dialog::setupUi(QDialog*)':
        usr/local/qt/test/test3.uic/release-shared/ui_test3.h:33: undefined reference to `Phonon::VideoPlayer::VideoPlayer(QWidget*)'
        make: Leaving directory `/usr/local/qt/test/test3'
        collect2: ld returned 1 exit status
        make: *** [test3] 오류 1
        Exited with code 2.
        Error while building project test3
        When executing build step 'Make'
      =======================================================================

이런 에러가 뜨게 됩니다.

그리고
phonon::videoplayer
phonon::seekslider
phonon::volumeslider
를 추가 해서 실행을 시키게 되면
      =======================================================================
Starting /usr/local/qt/test/test/test...
Gtk-Message: Failed to load module "pk-gtk-module": libpk-gtk-module.so: cannot open shared object file: No such file or directory
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ).
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::VideoWidget ( no objectName ).
/usr/local/qt/test/test/test exited with code 0

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

이렇게 경고가 뜨게 됩니다.


이렇게 순서가 맞는지 모르겠네요..
틀린 부분이 있으면 가르켜 주시면 정말 감사하겠습니다.


서영진
   10-05-10 09:46
순서가 잘못되었네요.
Qt 설치 전에 Gstreamer가 설치되어있어야 합니다.
gstreamer-devel 관련 2개, gstrearmer-plugin 관련 2개...
Qt Assistant를 보시면 설치파일에 관련해서 자세히 나와있습니다.

곰또리
   10-05-10 11:41
아~ 제가 이번 글 올린 것은 5번째 포맷 한 후 상황이예요~
제가 2번째인가는 Gstreamer를 먼저 설치 해 봤는데;;
안되서 저렇게 했습니다.

서종범
   10-05-10 13:50
저 역시 같은 환경에서 설치를 진행 하였습니다. 제가 사용한 옵션은 아래와 같습니다.

./configure -fast -debug-and-release -opensource -shared -qt-sql-sqlite -xmlpatterns -multimedia  -audio-backend  -phonon  -phonon-backend -svg -webkit -javascript-jit  -script  -scripttools  -declarative  -dbus -v  -qt-libtiff -openssl

위와 같이 실행을 하면 현재 설치 가능한 패키지를 구별할 수가 있으실 겁니다.

필요한 패키지들은 시네틱을 사용하여 설치하시면 됩니다.
설치 할때 사용한 검색어는 다음과 같습니다.
gst dev, dbus dev, gst base, openssl dev, sqlite dev, alsa dev


지금 사용하시는 환경에서
추가적으로 작업하셔도 됩니다. 제가사용하는 것은 시냅틱이라고 하는 것인데 좀 다릅니다.
시스템->관리->시냅틱 패키지 관리지  <==이것을 사용합니다.




출처 : http://artview-clue.blogspot.com/2010/08/1004-lts-qt462-phonon.html

우분투에 10.04 LTS에 QT4.6.2 phonon 포함 설치

[시스템] - [관리] - [시냅틱 패키지 관리자]에서
gst dev,
dbus dev,
get base,
gst base,
openssl dev,
sqlite dev,
alsa dev,
libqt4,
qt4,
phonon,
codec
로 검색하여 속한 모든 프로그램 및 패키지를 설치


QT 실행



우분투에 10.04 LTS 에서 gstreamer 에 관한 개발을 할 때 필요한 패키지를 설치하는 명령어는 다음과 같습니다.

sudo apt-get -y install gstreamer-tools gstreamer0.10-alsa gstreamer0.10-doc gstreamer0.10-esd gstreamer0.10-ffmpeg gstreamer0.10-gnonlin gstreamer0.10-nice gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-tools gstreamer0.10-x libgnome-media0 libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base0.10-dev libgstreamer0.10-0 libgstreamer0.10-dev

우분투에 10.04 LTS 에서 qt4의 개발환경을 설치하는 명령은 다음과 같습니다.

sudo apt-get -y install libqt4-assistant libqt4-dbg libqt4-dbus libqt4-designer libqt4-dev libqt4-gui libqt4-help libqt4-multimedia libqt4-network libqt4-opengl libqt4-opengl-dev libqt4-phonon-dev libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-sql-odbc libqt4-sql-psql libqt4-sql-sqlite libqt4-sql-sqlite2 libqt4-svg libqt4-test libqt4-webkit libqt4-webkit-dbg libqt4-xml libqt4-xmlpatterns libqt4-xmlpatterns-dbg libqwt5-doc libqwt5-qt4 libqwt5-qt4-dev qt4-demos qt4-designer qt4-dev-tools qt4-doc qt4-qmake qtcreator qtcreator-doc

sudo apt-get install build-essential bin86 kernel-package libstdc++6 g++ gcc libc6-dev gcc-3.4 libncurses5-dev python-dev python patch m4 make ccache perl diffstat bitbake w_g_e_t curl ftp cvs git subversion git tar bzip2 gzip unzip jade docbook docbook-utils texinfo texi2html sec bison bc libsdl1.2-dev mktemp help2man gawk qemu nfs-kernel-server tftpd tftp xinetd ssh vim libx11-dev

w_g_e_t 은 _ 를 다 없애주세요... 텍스트큐브에 저장이 안되는군요.. ㅡㅡ;





우분투의 경우 기본적으로 개발패키지가 빠져있습니다. 기본적인 개발환경을 설치해주는 명령을 올립니다. 해당 명령은 우분투 9.04에서 확인 하였습니다.

sudo apt-get install build-essential 하면 왠만한거 다 설치됩니다.
물론 svn, git이런거는 그때그때 설치해 주셔야 하긴 하지만요.

2010/11/18 18:40 2010/11/18 18:40

이 글에는 트랙백을 보낼 수 없습니다