精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Qt移植學習之路 QT4.5.3至mini2440

移動開發
Qt移植學習之路 QT4.5.3至mini2440是本文介紹的內容,關于移植我們應該接觸過很多相關內容,先來看本文介紹。

本文介紹的是Qt移植學習之路 QT4.5.3至mini2440,終于成功移植QT 4.5.3至mini2440,并能運行QT自帶的應用程序,總得來說還算很順利,下面是我移植的全部過程。

首先,我交待一下我的開發環境:

宿主機:Fedora9 

主機Gcc:gcc 版本 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)

交叉編譯器:arm-linux-gcc-4.3.2 (友善光盤自帶)

開發板:mini2440(NAND 128M  SDRAM 64M)

移植步驟:

1.準備源碼包

從ftp://ftp.qt.nokia.com/qt/source/ 下載:qt-embedded-linux-opensource-src-4.5.3.tar.gz和

qt-x11-opensource-src-4.5.3.tar.gz

前者是移植到開發板上運行的,后者是方便在X86機上開發應用程序,待一切調試成功再經交叉編譯后下載到開發板上運行。

從網上下載tslib-1.4.tar.gz包,這包用于管理觸摸屏,例如可用于它來校正觸摸屏,并保存校正數據。

2.編譯安裝tslib-1.4

把tslib-1.4 COPY到Fedora9的 /opt下,在Fedora9的終端下執行:

  1. #cd /tmp  
  2. # tar zxvf tslib-1.4.tar.gz       ――――――――(最后在/tmp下解壓生成tslib)  
  3. #cd  tslib   
  4. #./autogen.sh  
  5.     #./configure --prefix=/home/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 
  6.     #make  
  7. #make install 

成功后可在/home下生成mytslib,進入mytslib可以看到有bin include lib etc四個文件夾。我們暫時先不理它,在接下來的移植過程中才用到這些文件夾。

3. 編譯安裝QT-X11-4.5.3

QT-X11-4.5.3是運行于linux平臺下用于仿真QT應用程序的軟件,這樣你便可以在linux平臺下把你應用程序都調試好,然后再利用QT4.5.3把應用程序編譯成ARM版本下載至開發板,這樣你就可以在開發板上運行你的QT應用程序了。

下面是安裝步驟:

首先把qt-x11-opensource-src-4.5.3.tar.gz 拷貝到Fedora9下的/tmp目錄下,接著執行:

  1. #tar zxvf qt-x11-opensource-src-4.5.3.tar.gz  
  2. #cd qt-x11-opensource-src-4.5.3  
  3. #./configure  
  4.     #gmake      //一般用時2-3小時,如果你的機子配置不太低的情況下  
  5. #gmake install 

安裝OK后,在/usr/local/目錄下生成Trolltech目錄,這就是我們要用于在x86平臺(Fedora9)下開發應用程序時所依賴的一些目錄。現在你可以進入/usr/local/Trolltech/Qt-4.5.3/examples下,進入一個例子,比如進入/usr/local/Trolltech/Qt-4.5.3/examples/widgets/analogclock下,你會發現,這個例子都已經編譯好了,在Fedora9的終端下直接運行:

  1. #./analogclock –qvfb  

則在Fedora9的屏幕上出現下圖:

Qt移植學習之路 QT4.5.3至mini2440

也許你會想,我是否能重新編譯一遍analogclock呢?因為analogclock目錄下有一個Makefile,于是執行:

  1. #make clean  
  2. #qmake –project   

唉,你會發現,提示說找不到命令“qmake”,怎么辦呢?很簡單,因為我們還沒有設置環境變量,當然會找不到命令啦。  

讓我們來設置一下QT-X11-4.5.3的環境變量,首先進入你的安裝QT-x11-4.5.3目錄:

  1. #cd /opt/qt-x11-opensource-src-4.5.3 

在此目錄下建立一個名為:qt_x11_setenv.sh的shell文件,內容如下:

  1. #!bin/bash  
  2. PATH=/usr/local/Trolltech/Qt-4.5.3/bin:$PATH  
  3.     QTDIR=/usr/local/Trolltech/QT-4.5.3  
  4.     MAINPATH=$QTDIR/man:$MAINPATH  
  5.     LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  6. export PATH QTDIR MAINPATH   LD_LIBRARY_PATH  
  7. echo "     set qt-x11 env. successful    " 

保存退出,在終端執行:

  1. #source qt_x11_setenv.sh 

終端回顯:set qt-x11 env. successful

  1. #echo $QTDIR 

終端回顯:/usr/local/Trolltech/QT-4.5.3 ――――――說明:環境變量設置成功。

在這之后,我們再執行一下:

  1. #qmake –project    (建立*.pro文件)   
  2. #qmake          (產生Makefile文件)   
  3. #make            (編譯產生可執行程序) 

如果沒有錯誤將生成analogclock可執行程序,終端執行:

  1. #./analogclock –qvfb   

看看是否出現畫面了~~~~~~~~~~

注意一點:

在每次進入qt-x11-linux-opensource-src-4.5.3目錄中要 #source setenv-x11.sh

把環境變量設置好,否則又會出現無法編譯。

成功后,是不是有點迫不及待地想自己試驗一個QT程序呢,讓我們來編寫一個hello程序吧!

  1. #cd qt-x11-linux-opensource-src-4.5.3/ /opt/qt-x11-opensource-src-4.5.3/examples/  
  2. #mkdir hello  
  3. #vi hello.cpp     

然后把下列源程序COPY到hello.cpp中。

  1. #include <QApplication>   
  2. nclude <QPushButton> 
  3.  int main(int argc, char *argv[])  
  4.       {  
  5.            QApplication app(argc,argv);  
  6.            QPushButton b("Hello World !");  
  7.               b.show();  
  8.               QObject::connect(&b,SIGNAL(clicked()),&app,SLOT(quit()));  
  9.                return app.exec();  
  10.         } 

進入前記得執行source setenv-x11.sh

 

  1. # qmake –project (產生hello.pro文件)  
  2. #qmake            (產生Makefile文件)  
  3. #make              (執行Makefile以生成可執行程序) 

如果不出錯在當前目錄下生成hello可執行程序,既然生成了,那還等什么,執行吧。

  1. #./hello –qvfb   

我執行后就出圖了,你的呢?

Qt移植學習之路 QT4.5.3至mini2440

其實圖是可以拉大的,你試試!

4.編譯安裝QT4.5.3

首先我們建立兩個目錄用來存放接下來編譯出來的一些目標文件,在Fedora9的根目錄下建立mini2440 和 tslib兩個目錄,終端執行:

  1. #cd /  
  2. #mkdir mini2440   
  3. #mkdir tslib 

接下來我們把qt-embedded-linux-opensource-src-4.5.3.tar.gz COPY到/tmp下, 終端執行:

 

  1. #cd /tmp  
  2. #tar zxvf qt-embedded-linux-opensource-src-4.5.3.tar.gz   
  3. #cd qt-embedded-linux-opensource-src-4.5.3 
  1. #./configure -prefix /mini2440  -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg   
  2. -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis  
  3.  -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info   
  4. -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb   
  5. -confirm-license -qt-mouse-tslib -I/home/mytslib/include -L/home/mytslib/lib 

上面最后一句“-I/home/mytslib/include -L/home/ mytslib/lib ”指明我們剛才編譯出來觸摸屏的庫文件及頭文件存放路徑。它前面的“-qt-mouse-tslib”表示將使用觸摸屏。

然后執行:

  1. #gmake  
  2. #gmake install 

上面編譯時間較長,一般要2到3個小時。

這樣,嵌入式版本的qt4裝成功了,若想進行交叉編譯,首先也得改變環境變量,所以也可以在當前目錄下建一個環境變量的文件setenv-embedded.sh 如下:

  1. #gedit setenv-embedded.sh 

這時跳出一個編輯文本輸入:

  1. PATH=/mini2440/bin:$PATH  
  2. QTDIR=/mini2440  
  3. MAINPATH=$QTDIR/man:$MAINPATH  
  4. LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  
  5. export PATH QTDIR MAINPATH   LD_LIBRARY_PATH 

保存退出。每次進行qt4-embedded的交叉編譯前先# source setenv-embedded.sh,注意我們在編譯QT應用程序時要用到上述變量。下文會提到。

#p#

4. 移植相關庫文件至開發板

首我們得準備一個文件系統,我是根據友善提供的文檔制作了一個文件系統,路徑為/opt/studyarm/rootfs, 其中rootfs就是我的根文件系統。

首先在rootfs 的根目錄下建立兩個目錄:

在開發板的終端下執行:

  1. #cd /  
  2. #mkdir mini2440  
  3. #mkdir tslib 

接下來我們要COPY我們剛才編譯生成的一些庫文件及配置文件至開發板上的mini2440, tslib。我是用NFS方式掛載文件系統的,當然你可以用其它下載方式把目標庫文件等下載到你的開發板就行。

因為是用NFS掛載方式,所以我在Fedora9終端上執行:

  1.    #cp –rf /home/mytslib/lib  /opt/studyarm/rootfs/tslib/  
  2.    #cp –rf /home/mytslib/etc /opt/studyarm/rootfs/tslib/  
  3.    #cp –rf /mini2440/lib /opt/studyarm/rootfs/mini2440/  
  4. #cp –rf /home/mytslib/etc /opt/studyarm/rootfs/tslib  
  5. #cp /home/mytslib/bin/ts_calibrate /opt/studyarm/rootfs/bin  
  6. #cp /home/mytslib/bin/ts_test /opt/studyarm/rootfs/bin  
  7. 編輯開發板/etc/profile,用來在在開發板上設置環境變量,開發板終端輸入內容如下:  
  8. Cat >> /etc/profile/ << EOF 
  9. (當然也可以一個一個變量敲入,但是這種方法設置的變量在斷電重新上電后又得設置一遍很麻煩,所以把變量直接寫入/etc/profile后,系統啟動時會自動更新變量,很簡便)  
  10. export  QTDIR=/mini2440  
  11. export  T_ROOT=/tslib  
  12. export  PATH=$QTDIR/bin:$PATH  
  13. export  TSLIB_CONSOLEDEVICE=none 
  14. export  TSLIB_FBDEVICE=/dev/fb0  
  15. export  TSLIB_TSDEVICE=/dev/ event0  
  16. export  TSLIB_PLUGINDIR=$T_ROOT/lib/ts  
  17. export  TSLIB_CONFFILE=$T_ROOT/etc/ts.conf  
  18. export  TSLIB_CALIBFILE=/etc/pointercal  
  19. export  QWS_MOUSE_PROTO=tslib:/dev/event0  
  20. export  LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib  
  21. EOF 

終端輸入上述變量設置后,再執行一下:source /etc/profile使系統更新一遍剛設置的系統環境變量。

驗證變量設置是否成功:

在開發板終端下執行:

#echo $QTDIR  如果顯示  #/mini2440,則說明設置成功了,在QT的移植過程中環境變量的設置是非常重要的,如果設置的不正確會出現很多問題。

比如說:在參考別人QT移植的文章時,有人環境變量設置與我的不同,主要有如下幾個:

  1. export  TSLIB_FBDEVICE=/dev/input/fb0    
  2. export  TSLIB_TSDEVICE=/dev/input/event0  
  3. export  QWS_MOUSE_PROTO=tslib:/dev/input/event0 

注意到沒有:他們的環境變量中,fb0,event0設備都在/dev/input下,而我查看了我的/dev下沒有input目錄,所以這點要根據自已所做文件系統的實際情況來設置這些變量。

接下來我們還得設置一下觸摸屏的配置文件ts.conf. 它在哪里呢?前面我們把mytslib下的etc目錄COPY到了開發板的/tslib/下,那么tslib一共就有bin及etc兩個目錄,而ts.conf就在etc目錄下,開發板下用vi /tslib/etc/ts.conf

把# module_raw collie 前面的“#”號去掉,然后把該行移至行首,最后我的配置文件如下:

  1. module_raw collie  
  2. module pthres pmin=1 
  3. module variance delta=30 
  4. module dejitter delta=100 
  5. module linear   

自執行source /etc/profile后,開發板的環境變量就完全設置好了,并且QT4.5.3的移植也基本完成了,這所以說基本,是因為現在可以運行QT程序了,但是還需要進一步的做一些移植,比如說字庫,中文顯示等等。接下來將驗證tslib及QT4.5.3是否移植成功。

5. 測試觸摸屏校正

在開發板終端下執行:

  1. #ts_calibrate      ---------觸摸較正程序 

運行該程序后,屏幕將出現五點校正畫面,依次點擊五點后,將生成觸摸屏校正數據文件/etc/pointercal.

  1. #ts_test         ----------觸摸屏拖曳測試程序 

運行后屏幕出現drag,draw  依次選擇后進行測試,同時終端下出現拖曳后的取點數據。

6.運行QT應用程序以驗證QT4.5.3是否移植成功

我們要編譯一些例子程序,同時將它們下載至開發板運行。

在終端下首先檢測一下環境變量,因為在qt-embedded-linux-opensource-src-4.5.3下編譯應用程序要依賴于它所生成的一些庫,我們在前面第3步,不是在主機/mini2440下生成了一些庫和其它文件么?其中/mini2440/lib我們移植到了開發板,這些庫和其它目錄中的文件我們編譯QT應用程序時也是要依賴它們的,所以環境變量路徑是否設置正確直接影響應用程序編譯是否成功。

主機終端執行:

#echo $QTDIR  ――――回顯為“/mini2440”則說明環境變量設置OK,如果回顯為空,或者為其它路徑,則要source setenv-embedded.sh一下,不明白的請回到第3步再看一遍。

環境變量測試沒問題,那么就可以編譯QT程序了。

  1. #cd  ……/ qt-embedded-linux-opensource-src-4.5.3/ examples/mainwindows/application/  
  2. #qmake –project      (如果提示無“qmake”命令,則肯定是你的環境變量的路徑設置不正確,或者source setenv-embedded.sh一下即可)  
  3. #qmake     (成生Makefile)  
  4. #make      (生成可執行程序) 

至此,如果你沒發生什么錯誤應該可以在application下看到“application”的可執行程序了,把它下載到你的開發板下并執行:

  1. #./application –qws    

現在可以看到屏幕上的對話框了吧?可能顯示的不是很“正”,(但可以用觸摸筆把它拖到屏中央),并且字也不是看得很清。

你可以編譯其它自帶的例子運行試試看。

接下來的工作就是如何把修正字體等其它工作。但初步移植算是成功了。

7. QT自帶例子運行出現錯誤

編譯home/qt-4.5.3/qt-embedded-linux-opensource-src-4.5.3/examples/widgets/imageviewer

成功后,下載板子后運行,出現:Segmentation fault,但多運行幾次發現可以運行,也就是說偶爾會出現不能運行的錯誤,這是一個經典問題。很多文章介紹說是編譯器的問題。

有的網友說:EABI的編譯器編譯出來的Qt-4.5的程序都會出現段錯誤。原因不明。這個我不敢茍同,因為我試了很多自帶的例子,用帶EABI的編譯器arm-linux-gcc-4.3.2-EABI是可以運行的。

百度了一下,發現有價值的文章不多,下引自一網友的BLOG:http://zhubangbing.blog.163.com/blog/static/52609270200993015132315/

c/c++/qt中的段錯誤(segment fault)

關于內存的那些話就不說了,被一幫會裝會轉載的人說爛了,這里只說我在寫程序時遇到段錯誤的原因,如何解決的,總之一句話,涉及到指針的,你不能在未定義,未初始化,未 “new” 之前使用,否則等待你的肯定是 segment fault,然后程序直接退出

1. 類A在執行中可能會幾次用到用到類B,也可能只有一次用到,也可能一次都不用,這種情況下我的習慣就是在類A的構造函數中初始化B類對象為NULL,然后在用的地方先判斷B是否實例化,未實例化,實例化,然后使用,delete B類對象時也要先判斷下B是否實例化
    因為這里已經初始化了類B的對象,使用時容易出的錯誤是在判斷是否實例化時,如果在判斷類本身是否實例化之前,判斷了(或者說使用了)類B的成員函數/成員變量,出現段錯誤,因為這個類不存在,其成員函數/變量也不存在
例子:
A 的構造函數中有這樣一句this->m_b = NULL;//將B類對象 m_b初始化為NULL ,此處B類為QThread的子類使用中

  1. void new_b()  
  2. {  
  3.     if(!this->m_b)  
  4. {  
  5.     this->m_b = new B;  
  6.     this->m_b->start();  
  7.     .....  
  8. }  
  9. }  
  10. void delete_b()  
  11. {  
  12.     if(this->m_b||this->m_b->isRunning())//delete B 類對象時判斷條件  
  13.     {  
  14.             while(!this->m_b->isFinished())  
  15.             {  
  16.                 this->m_b->quit();  
  17.                 this->m_b->wait(500);  
  18.             }  
  19.             delete this->m_b;  
  20.             this->m_b = NULL;  
  21.     }  

這樣使用時,在只調用一次delete_b()時,可能不會出問題,因為這個時候m_b可能已經實例化了,所以程序只要判斷到 this->m_b 為真,就會認為if條件為真,然后往下執行,但是問題是,如果調用了兩次 delete_b()或者在調用之前m_b沒有 new_b(),那么判斷時this->m_b為假,程序就會繼續判斷this->m_b->isRunning()是否為真,這就出現段錯誤了,因為m_b未 “new”

2.兩個線程共用緩存

我們的項目中音頻的發送和接收是用兩個線程實現的,線程的結束時間是不可控的,線程達到結束條件時肯定需要做清理工作,比如緩存的釋放,設備關閉,如果一個線程結束時沒有判斷另外一個是否結束,清理了共用的緩存,而另外一個線程又去訪問了這個緩存,就出現了段錯誤

在友善ARM9論壇上發現一篇可能可以解決段錯誤的文章:

http://www.arm9home.net/read.php?tid-2993-fpage-0-toread--page-2.html

程序 qt-embedded-linux-opensource-src-4.5.0/src/gui/embedded/qscreenlinuxfb_qws.cpp
作如下修改:

  1. 410行:  
  2. /*            //EmbedSky_del start 20091208  
  3.     canaccel = useOffscreen();  
  4.     if(canaccel)  
  5.         setupOffScreen();  
  6. */            //EmbedSky_del end 20091208  
  7.     canaccel = false;  
  8.  
  9. 706行:  
  10. /*                //EmbedSky_del start 20091208  
  11.     if (canaccel) {  
  12.         *entryp=0;  
  13.         *lowest = mapsize;  
  14.         insert_entry(*entryp, *lowest, *lowest);  // dummy entry to mark start  
  15.     }  
  16. */                //EmbedSky_del end 20091208  
  17.     canaccel = false

可能解決segmentation fault問題,請大家測試

[ 此帖被lpc2292在2010-03-24 14:37重新編輯 ]

有網友試驗過上面修改embedded/qscreenlinuxfb_qws.cpp的方法,并成功解決此錯誤,我暫時沒有去試,因為要重新編譯一遍QT,幾個小時下來,夠讓人等的。
下面引自一網友的文章,簡單的說明了一下段錯誤的產生原因,及調試方法。

qt 段錯誤,簡單調試方法

如果Qt程序不大也不小,有些地方難免會出現聲明指針后沒有具體實現的情況。這種情況下Qt在編譯階段是不會出現錯誤的,但是運行的時候會出現“段錯誤”,其他什么都不會顯示。

而段錯誤就是你的指針訪問了沒有分配地址的空間,或者是指針為NULL。

在這種情況下想快速確定是哪個地方出現的錯誤應該用gdb調試debug信息,但是我對那東西還不熟悉,還沒具體研究過(等我程序寫的大體像個樣子再說)。不過懶人我找到了一個簡單的方法......

在主程序中加入qDebug("Msg");一步一步跟蹤進實現函數,就會知道到底是哪個地方出現問題了。這個東西還挺管用的,對于我這樣的初學者就足夠了。

小結:關于Qt移植學習之路 QT4.5.3至mini2440的內容介紹完了,希望本文對你有所幫助。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-27 17:15:33

Qt creator Qt Creator

2011-06-13 11:07:22

QT 移植

2011-06-24 13:08:34

Qt Qt 4.5.3 移植

2011-06-21 14:34:30

Qt Designer mini2440

2011-06-28 13:02:06

Qt Qt 4.7.3 ARM

2011-06-17 09:58:26

Qt Chapter QObject

2011-06-17 10:19:11

Qt QWidge QSetting

2011-06-20 10:27:24

Mini2440 Qtopia Qt

2011-06-13 11:24:55

QT MPlayer 移植

2011-04-22 09:32:56

開發板Ubuntu串口

2011-07-05 13:32:45

QT Mysql 驅動

2011-07-02 13:24:39

QT Linux

2011-06-15 18:20:20

Qt 移植 Android

2011-06-13 15:57:26

linux QT QTOPIA

2011-06-24 08:46:37

Linux Qt x11 4.5

2011-07-04 10:56:10

Qt 移植 編譯

2011-06-29 10:46:01

Qt Eembedded Linux

2011-07-04 11:21:59

QT Designer

2011-07-04 11:29:40

QT Designer

2011-06-30 16:08:05

Qt 字庫 QPF
點贊
收藏

51CTO技術棧公眾號

女人和拘做爰正片视频| 国产欧美综合精品一区二区| 国产一区第一页| 6080成人| 在线免费亚洲电影| 97av中文字幕| 国产小视频福利在线| 精品在线视频一区| 91国内揄拍国内精品对白| 调教驯服丰满美艳麻麻在线视频 | 婷婷国产精品| 欧美卡1卡2卡| 欧美三级午夜理伦三级| h片在线免费| 久久久国产一区二区三区四区小说 | 国产一级精品aaaaa看| 免费视频网站在线观看入口| 亚洲人metart人体| 精品亚洲一区二区三区在线观看 | 亚洲三区欧美一区国产二区| 在线视频你懂得一区| 91免费黄视频| caoporm免费视频在线| 久久精品亚洲精品国产欧美| 亚洲影视九九影院在线观看| 天天干天天插天天射| 99精品国产一区二区青青牛奶 | 免费黄网站欧美| 久久久久久久久久久免费| www.4hu95.com四虎| 西野翔中文久久精品字幕| 日韩一卡二卡三卡四卡| 男人搞女人网站| 亚洲女同av| 午夜欧美一区二区三区在线播放| 2021国产视频| 黄色av电影在线播放| 国产午夜精品在线观看| 久久久久久久久久码影片| 超碰在线观看99| 久久99国产精品尤物| 国产精品中文字幕在线| 成人免费视频毛片| 亚洲美女黄色| 97视频免费在线观看| 久久艹精品视频| 中文字幕一区二区三区欧美日韩| 最新国产精品亚洲| wwwww黄色| 精品一区二区三区在线| 亚洲天堂第二页| 成人免费网站黄| 国产精品久久久久av蜜臀| 日韩午夜激情av| 久草福利在线观看| 最新国产精品精品视频| 精品国产污网站| 日本在线不卡一区二区| 果冻天美麻豆一区二区国产| 亚洲第五色综合网| 亚洲啪av永久无码精品放毛片 | 99精品在免费线偷拍| 欧美亚洲图片小说| 在线观看国产中文字幕| 欧美一区二区三区婷婷| 欧美偷拍一区二区| 99国产精品久久久久久| 欧美经典影片视频网站| 欧美成人在线直播| 日韩av无码一区二区三区不卡| 久久精品国产亚洲blacked| 亚洲国产高清高潮精品美女| 添女人荫蒂视频| 蜜臀av免费一区二区三区| 亚洲最大在线视频| 懂色av懂色av粉嫩av| 亚洲天堂男人| 日韩美女主播视频| 国产精品久久久久久无人区| 国产激情一区二区三区| 国产一区国产精品| 国产小视频在线| 亚洲欧美日本在线| 国产黄色片免费在线观看| 在线成人av观看| 欧美猛男超大videosgay| av地址在线观看| 青青伊人久久| 亚洲成人中文字幕| 性少妇xx生活| 亚洲性色视频| 国产精品无av码在线观看| 99久久夜色精品国产亚洲| av网站一区二区三区| 亚洲一区影院| 97蜜桃久久| 欧美日韩国产中文| 一边摸一边做爽的视频17国产| 欧美理论电影大全| 久久久欧美精品| 涩涩视频在线观看| 成人综合在线视频| 亚洲国产一区在线| 成人免费图片免费观看| 色综合久久综合网欧美综合网| 色18美女社区| 九色成人国产蝌蚪91| 久久天堂电影网| 免费看污视频的网站| 国产一区二区三区四区五区美女| 久久影院理伦片| fc2ppv国产精品久久| 欧美综合天天夜夜久久| 国产一卡二卡三卡四卡| 欧美大片aaaa| 国产成人精品午夜| 午夜视频免费在线| 亚洲制服丝袜av| 亚洲欧美天堂在线| 精品国产一区二区三区香蕉沈先生| 欧美精品亚州精品| 在线视频播放大全| 久久久电影一区二区三区| a级免费在线观看| 精品视频在线一区| 日韩在线中文字幕| 无码人妻丰满熟妇奶水区码| 成人动漫精品一区二区| 成人在线视频一区二区三区| 亚洲电影二区| 一区二区日韩精品| 国产精品尤物视频| 久久久综合九色合综国产精品| 99久久久精品视频| 久久99成人| 久久精品国产欧美激情| 在线观看毛片网站| 欧美经典一区二区| 五月天婷婷激情视频| 国产一区三区在线播放| 欧美一区三区三区高中清蜜桃| 黄色片一区二区| 亚洲一区二区精品视频| 老司机av网站| 欧美日韩综合| 国产精品一区二区av| 国产又色又爽又黄刺激在线视频| 欧美一级欧美一级在线播放| 精品无码久久久久成人漫画| 国产在线国偷精品产拍免费yy| 亚洲精品无人区| 中文成人在线| 久久不射电影网| 午夜精品久久久久久久99| 一区二区三区在线视频观看58| 91av免费观看| 亚洲精品偷拍| 欧洲在线视频一区| 电影亚洲一区| 久久精品中文字幕免费mv| 国产日韩欧美一区二区东京热 | 美国十次综合久久| 欧美肥臀大乳一区二区免费视频| 亚洲国产成人精品一区二区三区| 亚洲一二三区不卡| www.免费av| 日本亚洲免费观看| 在线国产精品网| 97久久综合区小说区图片区| 91av在线国产| av在线天堂| 日韩一级在线观看| 亚洲黄色三级视频| 欧美国产日韩一二三区| 伊人国产精品视频| 亚洲精品一二| 丝袜美腿玉足3d专区一区| 成人在线视频国产| 国内免费精品永久在线视频| 国产在线日本| 日韩视频中午一区| 伊人中文字幕在线观看| 中文字幕在线不卡| 日韩少妇一区二区| 人人超碰91尤物精品国产| 日本三级中文字幕在线观看| 美女主播精品视频一二三四| 国产精品久久久久久久美男| 在线观看av免费| 亚洲欧洲激情在线| 国产福利资源在线| 色一情一乱一乱一91av| 色在线观看视频| 久久蜜桃av一区精品变态类天堂| www.com黄色片| 亚洲精品偷拍| 综合久久国产| 国产成人影院| 俄罗斯精品一区二区三区| 欧美日韩尤物久久| 国内精品久久久久影院 日本资源| 国产一区电影| 日韩av中文在线| 99久久久无码国产精品免费| 日韩欧美亚洲综合| 免费在线看黄网址| 中文字幕中文在线不卡住| 午夜视频在线观看国产| 久久91精品国产91久久小草 | 九色porny自拍视频在线观看| xxxxx成人.com| 国产小视频在线| 亚洲精品成人久久久| 国产成人久久精品77777综合 | 精品国产va久久久久久久| 色婷婷国产精品| 久久久久久久久久久久久久免费看 | 丁香五月网久久综合| 韩国精品视频在线观看 | 久久精品无码中文字幕| 日韩精品首页| 久久视频在线观看中文字幕| 一区二区亚洲视频| 亚洲已满18点击进入在线看片| 国产香蕉久久| 国产精品一区二区三区成人| 毛片免费看不卡网站| 久久久亚洲福利精品午夜| 黄色网在线免费看| 神马久久久久久| 川上优的av在线一区二区| 亚洲精品一二区| 午夜性色福利视频| 亚洲国产成人精品女人久久久| 精品久久无码中文字幕| 91精品国产一区二区三区蜜臀| 一级特黄aa大片| 欧美日韩一区二区三区四区五区 | 日韩激情电影免费看| 欧美激情亚洲一区| 懂色av一区| 欧美激情欧美激情在线五月| 在线电影福利片| 欧美精品久久久久久久免费观看| 羞羞污视频在线观看| 久久777国产线看观看精品| 最爽无遮挡行房视频在线| 久久国产精品免费视频| av在线免费观看网址| 欧美插天视频在线播放| 99自拍视频在线观看| 欧美成人剧情片在线观看| 中文在线免费| 国产+成+人+亚洲欧洲| 2019中文字幕在线电影免费| 性色av一区二区三区| 国产色播av在线| 日韩av电影手机在线| 欧美日韩尤物久久| 成人乱人伦精品视频在线观看| 亚洲精品69| av成人观看| 久久这里只有精品一区二区| 久久精品国产第一区二区三区最新章节 | 日本三级理论片| 欧美日韩一二三四五区| 69av视频在线观看| 欧美久久婷婷综合色| 国产a级免费视频| 亚洲国产91色在线| 国产精品麻豆一区二区三区| 少妇高潮久久久久久潘金莲| 午夜小视频福利在线观看| 久久久这里只有精品视频| 都市激情亚洲综合| 国产在线精品一区免费香蕉| 一区二区三区亚洲变态调教大结局| 黑人中文字幕一区二区三区| 国产伦一区二区三区| 97精品国产97久久久久久粉红| 国产综合网站| 免费观看成人在线视频| 国产在线播放一区| 欧美双性人妖o0| 中文字幕久久午夜不卡| 久久久精品视频在线| 色噜噜夜夜夜综合网| 国产情侣激情自拍| 亚洲欧洲偷拍精品| av网址在线免费观看| 国产91成人video| av在线成人| 欧美精品中文字幕一区二区| 亚洲五月综合| 亚洲精品中文字幕无码蜜桃| 国产一区亚洲一区| 亚洲AV无码国产成人久久| 亚洲精品国产视频| 波多野结衣理论片| 精品av久久707| 蜜芽在线免费观看| 日本视频久久久| silk一区二区三区精品视频| 午夜精品一区二区在线观看 | 国产精品久久久久久久久久免费| 91成人噜噜噜在线播放| 视频在线99re| 亚洲免费中文| 韩国av中国字幕| 中文字幕亚洲电影| 午夜影院免费在线观看| 精品欧美一区二区久久| 在线免费观看黄色网址| 91大神福利视频在线| 香港久久久电影| 亚洲在线视频一区二区| 久久性色av| 国产激情视频网站| 亚洲精品日产精品乱码不卡| 中文字幕一区二区三区人妻四季| 日韩经典一区二区三区| 久草在线新免费首页资源站| 成人中文字幕+乱码+中文字幕| 欧美日韩激情| 日韩在线xxx| 91麻豆文化传媒在线观看| 精品一区在线视频| 日韩视频免费观看高清在线视频| 亚洲精品传媒| 国产精品视频一区国模私拍| 久久综合影院| 玩弄japan白嫩少妇hd| 久久综合九色综合欧美98| 国产在线观看免费av| 日韩欧美国产高清| 污污视频在线| 1区1区3区4区产品乱码芒果精品| 99久久.com| 中文字幕国产高清| 亚洲摸摸操操av| 99国产精品99| 免费av一区二区| 国产一区二区三区免费观看在线| 亚洲视频欧美在线| 六月婷婷色综合| 国产高清视频免费在线观看| 欧美日韩久久久一区| 欧美a免费在线| 亚洲淫片在线视频| 欧美日本免费| 91精品啪在线观看国产| 五月天网站亚洲| 欧美3p视频在线观看| 国产91九色视频| 成人免费在线播放| 国产精品视频中文字幕| 亚洲视频免费在线| www久久久com| 77777亚洲午夜久久多人| 亚洲人成网站77777在线观看| 亚洲人成色77777| 中文字幕在线一区免费| jlzzjlzz亚洲女人18| 国内揄拍国内精品| 精品一区三区| 911福利视频| 亚洲一区二区三区中文字幕在线 | 电影91久久久| 欧美又粗又长又爽做受| 91蝌蚪porny| 夜夜躁很很躁日日躁麻豆| 欧美床上激情在线观看| 精品国产乱子伦一区二区| 白嫩少妇丰满一区二区| 中文字幕亚洲精品在线观看| 亚洲精品字幕在线| 日韩av理论片| 亚洲成人日韩| 一级特级黄色片| 欧美性猛交xxxx黑人交| 日韩电影免费观看| 日韩精品久久久免费观看| 国产中文一区二区三区| 99热国产在线观看| 中文字幕亚洲无线码a| 都市激情亚洲| 天堂一区在线观看| 午夜精品福利一区二区蜜股av| 韩国免费在线视频| av日韩中文字幕| 久久一区二区三区超碰国产精品| 国产色无码精品视频国产| 国产视频久久网| 亚洲成人五区| 我要看一级黄色大片| 午夜亚洲福利老司机| 日本最黄一级片免费在线| 精品一区二区三区免费毛片| 极品美女销魂一区二区三区免费| 国产精品500部|