編譯gstream
1. ubuntu下編譯qt庫需要多久
1."Basic XLib functionality test failed!"
解決方式:apt-get install libX11-dev libXext-dev libXtst-dev
2."Xrender support cannot be enabled e to functionality tests!",此項導致QWebkit無法編譯
解決方式:apt-get install libXrender-dev
3.另外為了支持opengl,phonon等還需要其它庫
sudo apt-get install libglib2.0-dev
sudo apt-get install libgstreamer0.10-dev
sudo apt-get install libgstreamer-plugins-base0.10-dev
sudo apt-get install libxml-dev
sudo apt-get install xlibmesa-gl-dev
sudo apt-get install xlibmesa-glu-dev
sudo apt-get install xorg-dev
按照上述方式安裝依賴庫後,可以搞定。
然後make,make install
安裝完後,需要設置環境變數
export QTDIR=/usr/local/Trolltech/Qt-4.8.2/
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2. 我沒用過linux,現在用的是getoo系統, 如何安裝gstreamer各位強人能不能給點詳細的答案
。。。gentoo?牛B啊,沒用過linux就用gentoo,能用這個都已經是高手級別了,你還是早日換成ubuntu/suse這些把。。。死活要裝gstreamer,要下tar.gz包...一點一點的編譯。
3. 如何設置使用gstreamer1.0 而不使用gstreamer0.1
GStreamer無疑是一個美觀的設計,但初學者往往覺得結構復雜,難以掌握。編譯起來也很麻煩:) 本文列出了編譯和配置GStreamer的主要步驟,給需要的人提供一個參考。 像其它的Linux開源項目一樣,GStreamer也是採用包括autoconf,automake在內的GNU build system來編譯的。而且,GStreamer在編譯和安裝時還要依賴於其它的庫,這些庫至少包括:pkg-configGLiblibxml2 liboil
這些庫都使用pkg-config來提供include路徑和library路徑等編譯信息,而不是像很多開源項目一樣在執行configure腳本的時候用CPPFLAGS/CFLAGS環境變數來指定。 這些庫很容易通過google找到,一般以「*.tar.gz」或「*.tar.bz2」壓縮文件的形式存在。使用tar命令解壓:tar xzf *.tar.gz或tar xjf *.tar.bz2 解壓後一般會生成一個源文件目錄,先面的命令都要進入到各個庫的源文件目錄內執行。 具體編譯和安裝步驟如下: (1)確定各個庫的安裝路徑。為描述方便,假設如下的安裝路徑:pkg-config: /usr/local/install-pkg-config/Glib: /usr/local/install-glib/libxml2: /usr/local/install-libxml2/liboil: /usr/local/install-liboil/GStreamer Core: /usr/local/install-gstcore/GStreamer Base Plugins: /usr/local/install-plugins-base/ (2)設置環境變數。下面的命令按bshell/bash的語法,cshell中應該用setenv。 export PATH=/usr/local/install-pkg-config/bin:$PATH
export PKG_CONFIG_PATH="/usr/local/install-glib/lib/pkgconfig:/usr/local/install-libxml2/lib/pkgconfig:/usr/local/install-liboil/lib/pkgconfig:/usr/local/install-gstcore/lib/pkgconfig:/usr/local/install-plugins-base/lib/pkgconfig"
第一個命令是將pkg-config這個工具加入到PATH變數中,這樣在執行configure腳本時就能夠調到剛剛安裝好的pkg-config。 第二個命令是設置pkg-config的搜索路徑,在執行configure腳本時會調用pkg-config得到所依賴的頭文件和庫。 (3)編譯和安裝pkg-config。 ./configure --prefix=/usr/local/install-pkg-configmakemake install
執行configure腳本時用--prefix指定安裝路徑 (4)編譯和安裝GLib。 ./configure --prefix=/usr/local/install-glibmakerm -rf /usr/local/install-glib/include/glib.h /usr/local/install-glib/include/gmole.h
make install
(5)編譯和安裝libxml2。 ./configure --prefix=/usr/local/install-libxml2makemake install
(6)編譯和安裝liboil。 ./configure --prefix/usr/local/install-liboilmakemake install
(7)編譯和安裝GStreamer Core。 ./configure --prefix=/usr/local/install-gstcoremakemake check (optional)
make install
(8)編譯和安裝GStreamer Base Plugins。 ./configure --prefix=/usr/local/install-plugins-basemakemake check (optional)
make install
(9)編譯和安裝GStreamer的其它plugins,包括gst-plugins-good,gst-plugins-bad等。可選。與編譯安裝gst-plugins-base類似。 (10)設置運行環境。要運行GStreamer,需要設置GST_PLUGIN_PATH環境變數,指明GStreamer Core和Plugins的庫路徑。 export GST_PLUGIN_PATH="=/usr/local/gst/install-gstcore/lib:=/usr/local/install-plugins-base/lib"
如果還安裝了其它plugins,也要加到GST_PLUGIN_PATH路徑里。 另外,如果已有的tool chain版本不夠,還需要更新tool chain。常需要做的是安裝新版本的autoconf和automake。
4. phonon-backend-gstreamer 什麼包
關於qt embedded phonon 安裝問題,這里和大家分享,可能在安裝$sudo ./configure -phonon -phonon-backend .....的時候會說找不到phonon ,很明顯因為沒有這個phonon這個庫,當然就會找不到,在編譯的時候,特別是./configure -phonon -phonon-b...
5. gst_element_factory_make( "ffdemux_avi", "avi-demuxer" ); ubuntu中GStreamer編avi為什麼返回空
這要看你系統中裝的解碼器類型了,查看下有沒有在ubuntu上裝avi的解碼器。gst_element_factory_make會做兩步操作
gst_element_factory_find和gst_element_factory_create,建議你看下這個的源碼。
6. python可以寫軟體么怎麼寫
22點24分准時推送,第一時間送達
編輯:技術君 | 來源:youerning
上一篇:
正文
前言
用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個很偷懶的選擇,而且實在不想學習 Java,再者,就編程而言已經會的就 Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python 寫安卓的 APP 的可能性,還真行。
既然要寫個APP,那麼總得要有個想法吧。其實想做兩個APP來著,一個是自己寫著好玩的,一個是關於運維的。關於運維的APP,設計應該如下
可能長這樣
然後設計應該是這樣。
如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。
開發安卓APP
我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有著非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。
因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。
本文會帶大家寫一個Hello world並瞧一瞧 Python 版的2048的代碼
kivy安裝
環境說明:筆者在用的是Python2.7.10
這里僅介紹windows平台安裝
所有平台參考: https://kivy.org/#download
更新pip,setuptools
python -m pip install --upgrade pip wheel setuptools
然後是安裝所需要的依賴
python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew
kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/
值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,http://pan..com/s/1o7mlxNk
然後就是安裝kivy了
python -m pip install kivy
至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。
註:這里只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。
如果kivy在python中應該就能導入了。
按照世界慣例,我們」hello」一下吧。
新建一個.py文件
from kivy.app import Appfrom kivy.uix.button importButton
class TestApp(App):
def build(self):
return Button(text='Hello,kivy')
TestApp().run()
運行
然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色
點擊窗口並按「F1」會這個窗口的一些屬性
然後我們回過頭看一看代碼。
##導入App,然後讓TestApp這個類繼承
from kivy.app import App##導入一個Button,運維有這個button,當你點擊的時候才會有所反應
from kivy.uix.button
importButton
###定義類,名字必須是xxxAppclass TestApp(App):
###build一個Button
def build(self):
###返回一個Button,文字內容是「Hello,kivy」
return Button(text='Hello,kivy')
##運行,因為繼承了App,所以才有的run這個方法TestApp().run()
上面就是我們的Hello了
在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的,
這時我們需要一個編譯環境。
官方說明的環境,如下:
You』ll need:
A linux computer or a virtual machine
Java
Python 2.7 (not 2.6.)
Jinja2 (python mole)
Apache ant
Android SDK
Kivy Buildozer VM
Or select the Torrent
雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在這里提供相對而言更加完善的鏡像
下載地址:http://pan..com/s/1geyAY7x
注:virtualbox,vmware需自行下載
root密碼:kivy
默認使用賬戶kivy,密碼:kivy123
當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自行去下載。
Virtual Machine
A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:
在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。
在公眾號Python人工智慧技術後台回復「面試」,獲取騰訊Python面試題和答案。
cd Desktop/dev_and/
初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息
buildozer init
###修改buildozer.spec文件
vi buildozer.spec
至少修改下面三項
# (str) Title of your applicationtitle = helloworld
# (str) Package namepackage.name = helloapp
# (str) Package domain (needed for android/ios packaging)package.domain = youer.com
然後注釋
# (str) Application versioning (method 1)#version.regex = __version__ = ['"](.*)['"]#version.filename = %(source.dir)s/main.py
下面這行改為非注釋
version = 1.2.0
最後我們生成我們需要的apk文件
buildozer -v android debug
buildozer.spec更詳細的相關參數配置參考:
http://buildozer.readthedocs.org/en/latest/specifications.html
buildozer命令會在當前文件夾創建一個bin,該文件夾裡面有我們想要的apk文件
helloapp-1.2.0-debug.apk
helloapp-1.2.0-debug.apk
安裝以後是這樣:
話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。
最後我們來瞧瞧簡易版Python開發的2048這個游戲的源代碼。
代碼:
https://github.com/mvasilkov/kb/tree/master/6_2048
先看效果圖:
試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下
下載地址:http://pan..com/s/1eQZACDW
這個游戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。
主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像 html 中的css。
Python代碼的文件名一般命名為 main.py
然後一定有一個叫做 XXXApp 的類,並繼承 App。
比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。
比如設定一個標簽
Label:
id: time
text: 'xxxx'
font_size: 60
id為time,text文本內容為'xxxx',然後字體為60
好吧,點到為止吧,不過似乎什麼都沒點到~~~
你還有什麼想要補充的嗎?
你在看嗎?一起成長
7. Ubuntu上怎麼安裝第三方rhythmbox插件
以mp3插件為例:
A.解壓源文件包
執行「應用程序」->「系統工具」->「終端」,打開終端命令行窗口,某些系統可能當前沒有用root帳戶登陸,請使用對後續目錄有所有操作 許可權的 帳戶來登陸操作,我這里准備用root來操作,所以在開始之前,請輸入「su root」,再輸入密碼,登陸成功之後進入gst-fluendo-mp3下載存放路徑用「tar -xzvf gst-fluendo-mp3-0.10.14.tar.gz」命令來完成對源文件包的解壓。
B.配置、編譯源文件
解壓完成之,合在和源文件包同一目錄中多出一個叫「gst-fluendo-mp3-0.10.14」的文件夾,這個文件里存放在,就是剛則解壓出來的 gst-fluendo-mp3插件的所有源代碼,下面我們要做的工作,就是配置及編譯這些源程序了。執行」cd gst-fluendo-mp3-0.10.14「命令,進入gst-fluendo-mp3-0.10.14文件夾里,再執行 「./configure」命令進行配置,配置完成之後,執行「make」命令進行編譯,最後執行「make install」命令進行安裝。
C.測試插件
到現在為止,我們已經將 gst-fluendo-mp3編譯出來,並已經安裝到了系統,我們現在來驗證一下安裝的結果如何,Rhythmbox是否能正常支持Mp3格式音頻文件 的播放。打開Rhythmbox,選擇菜單」音樂「->「導入文件」,導入一首Mp3格式的音樂文件,結果依然還是看到提示需要下載Mp3格式的插 件。
D.解決問題
查看「/usr/lib /gstreamer-0.10」及「/usr/local/lib/gstreamer-0.10」這二個位置,其實如果你仔細查「/usr/lib /gstreamer-0.10」位置下的文件的話,你應該會知道發現, 這是系統原來自帶的GStreamer部分插件的位置,而「/usr/local/lib/gstreamer-0.10」則是我們剛剛新安裝的 「gst-fluendo-mp3」存放的位置。我想看到這,大家應該也差不多知道該怎麼做了,很簡單,執行命令「cp /usr/local/lib/gstreamer-0.10/libgstflump3dec.so /usr/lib/gstreamer-0.10」,把「/usr/local/lib/gstreamer-0.10」目錄的 「libgstflump3dec.so」文件復制到「/usr/lib/gstreamer-0.10」即可。
8. linux 怎樣搭建qtwebkit使用的gstreamer
花了一天事件, 終於編譯出了支持gstreamer的qtwebkit, 可以開始html5 的<video><audio>之旅了。
1. 編譯libxml2
下載libxml2-sources-2.7.6.tar.gz
解包後在當前目錄下編寫如下編譯腳本:(當然,不用腳本也行,你可以直接執行)
CC=arm-none-linux-gnueabi-gcc ./configure --build=i686-linux --host=arm-none-linux --prefix=/home/work/dist --without-python
make && make install
2. 編譯zlib, 這個太common,我不啰嗦了, glib-2.0要依賴的。
3. 編譯glib-2.0
下載glib-2.24.2.tar.bz2, 解包, 這個版本的依賴庫很少, 竟然只需要zlib。
老版本需要的libconv, gettext等均不需要了。
同樣, 編寫編譯腳本:
CC=arm-none-linux-gnueabi-gcc ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist \
CFLAGS="-I/home/work/dist/include -L/home/work/dist/lib" \
glib_cv_stack_grows=no glib_cv_uscore=no ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes ac_cv_lib_rt_clock_gettime=no glib_cv_monotonic_clock=yes
make && make install
4. 編譯gstreamer
下載gstreamer-0.10.35.tar.gz, 這個是0.10版本裡面最新的了。
編譯腳本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist CFLAGS=-I/home/work/dist/include --disable-registry --disable-loadsave --disable-gtk-doc \
ac_cv_func_register_printf_function=no --disable-tests --disable-valgrind --disable-debug --disable-gst-debug
make && make install
5. 編譯gst plugins base
下載gst-plugins-base-0.10.35.tar.gz。
編譯腳本:
CC=arm-none-linux-gnueabi-gcc PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig ./configure --build=i686-linux --host=arm-none-linux \
--prefix=/home/work/dist CFLAGS=-I/home/work/dist/include --disable-valgrind --disable-x --disable-gnome_vfs --disable-alsa --disable-ogg --disable-pango --disable-theora --disable-vorbis --disable-examples
make && make install
好了, 萬事具備, 只欠東風了。接下來開始編譯Qt
Qt的配置文件很復雜, 我就不寫出來了, 就是要注意這三點:
1. 在Qt 的configure 時加上-force-pkg-config, 否則會在WebCore的feature.pri中檢查時報"Disabling video e the lack of GLib/Gio/GStreamer.",
也就是說會不支持video.
具體可以看這個pri片段:
!contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10): {
DEFINES -= ENABLE_VIDEO=0
DEFINES += ENABLE_VIDEO=1
DEFINES += WTF_USE_GSTREAMER=1
DEFINES -= WTF_USE_GSTREAMER=0
} else {
message("Disabling video e the lack of GLib/Gio/GStreamer.")
DEFINES -= ENABLE_VIDEO=1
DEFINES += ENABLE_VIDEO=0
}
如果不指定-force-pkg-config, 就會被當作no-pkg-config.
2. 為configure指定:PKG_CONFIG_PATH=/home/work/dist/lib/pkgconfig, 否則也會diabling video
3. 為了讓webkit庫能找到gstreamer等庫, 還需要在webkit.pro中加上
轉載,僅供參考。
9. 怎樣編譯和配置GStreamer
GStreamer無疑是一個美觀的設計,但初學者往往覺得結構復雜,難以掌握。編譯起來也很麻煩:) 本文列出了編譯和配置GStreamer的主要步驟,給需要的人提供一個參考。 像其它的Linux開源項目一樣,GStreamer也是採用包括autoconf,automake在內的GNU build system來編譯的。而且,GStreamer在編譯和安裝時還要依賴於其它的庫,這些庫至少包括:pkg-configGLiblibxml2 liboil 這些庫都使用pkg-config來提供include路徑和library路徑等編譯信息,而不是像很多開源項目一樣在執行configure腳本的時候用CPPFLAGS/CFLAGS環境變數來指定。 這些庫很容易通過google找到,一般以「*.tar.gz」或「*.tar.bz2」壓縮文件的形式存在。使用tar命令解壓:tar xzf *.tar.gz或tar xjf *.tar.bz2 解壓後一般會生成一個源文件目錄,先面的命令都要進入到各個庫的源文件目錄內執行。 具體編譯和安裝步驟如下: (1)確定各個庫的安裝路徑。為描述方便,假設如下的安裝路徑:pkg-config: /usr/local/install-pkg-config/Glib: /usr/local/install-glib/libxml2: /usr/local/install-libxml2/liboil: /usr/local/install-liboil/GStreamer Core: /usr/local/install-gstcore/GStreamer Base Plugins: /usr/local/install-plugins-base/ (2)設置環境變數。下面的命令按bshell/bash的語法,cshell中應該用setenv。 export PATH=/usr/local/install-pkg-config/bin:$PATH export PKG_CONFIG_PATH="/usr/local/install-glib/lib/pkgconfig:/usr/local/install-libxml2/lib/pkgconfig:/usr/local/install-liboil/lib/pkgconfig:/usr/local/install-gstcore/lib/pkgconfig:/usr/local/install-plugins-base/lib/pkgconfig" 第一個命令是將pkg-config這個工具加入到PATH變數中,這樣在執行configure腳本時就能夠調到剛剛安裝好的pkg-config。 第二個命令是設置pkg-config的搜索路徑,在執行configure腳本時會調用pkg-config得到所依賴的頭文件和庫。 (3)編譯和安裝pkg-config。 ./configure --prefix=/usr/local/install-pkg-configmakemake install 執行configure腳本時用--prefix指定安裝路徑 (4)編譯和安裝GLib。 ./configure --prefix=/usr/local/install-glibmakerm -rf /usr/local/install-glib/include/glib.h /usr/local/install-glib/include/gmole.h make install (5)編譯和安裝libxml2。 ./configure --prefix=/usr/local/install-libxml2makemake install (6)編譯和安裝liboil。 ./configure --prefix/usr/local/install-liboilmakemake install (7)編譯和安裝GStreamer Core。 ./configure --prefix=/usr/local/install-gstcoremakemake check (optional) make install (8)編譯和安裝GStreamer Base Plugins。 ./configure --prefix=/usr/local/install-plugins-basemakemake check (optional) make install (9)編譯和安裝GStreamer的其它plugins,包括gst-plugins-good,gst-plugins-bad等。可選。與編譯安裝gst-plugins-base類似。 (10)設置運行環境。要運行GStreamer,需要設置GST_PLUGIN_PATH環境變數,指明GStreamer Core和Plugins的庫路徑。 export GST_PLUGIN_PATH="=/usr/local/gst/install-gstcore/lib:=/usr/local/install-plugins-base/lib" 如果還安裝了其它plugins,也要加到GST_PLUGIN_PATH路徑里。 另外,如果已有的tool chain版本不夠,還需要更新tool chain。常需要做的是安裝新版本的autoconf和automake。
10. 請教,如何在arch下建立qt編譯環境的問題
一、安裝G++環境
sudo apt-get install build-essential
另外的一些相關環境。如果不安裝,一些qt的組件是無法正常編譯的,例如openGL
sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev
二、解壓代碼
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解壓完進入解壓後的源代碼文件夾
三、執行。/configure生成makefile
。/configure -prefix /usr/local/Qt-4.8.2
(上面指定的這個目錄/usr/local/Qt-4.8.2 ,就是make install 後的安裝目錄)
下面出現對話框選擇open source edition.這是自由版。輸入yes接受協議。
(1)如果你的機器各種庫文件完整,經過一小會,配置完成,會出現以下信息
Qt is now configured for building ,just run 『make』
Once everything is built , you must run 『make install』
Qt will be installed into /usr/local/Qt-4.8.2
To reconfigure ,run 『make confclean』 and 『configure』
說明Makefile文件生成成功
(2)如果出現以下信息
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
還是老辦法,以不變應萬變。進config.test/x11/xlib 執行make命令,看出錯信息
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm
/usr/bin/ld: cannot find -lXext
看到了吧,g++在/usr/X11R6/lib下,找不到libXext.so呢。
其原因就在於需要安裝libX11的開發包,在Ubuntu/debian里包名都是libX11-dev
根據以往的經驗,在。/configure前主動裝好下面3個包,基本上就萬事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安裝所需到包後再重新。/configure即可生成Makefile文件
如果出現:Project ERROR: Package gstreamer-app-0.10 not found,則執行以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev如果出現 : g++: error: unrecognized command line option 『-fuse-ld=gold』
這是Qt的一個bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在裝有gold linker的系統里,編譯腳本會加入-fuse-ld=gold選項,但這個選項gcc是不支持的。解決辦法是移除該選項,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。
#
QMAKE_LFLAGS+=-fuse-ld=gold
四、編譯QT
執行make命令,需要2個小時。
五、安裝QT
運行sudo make install命令。需要幾分鍾時間,默認安裝到/usr/local/Qt-4.8.2. 運行/usr/local/Qt-4.5.3/bin/designer ,若能啟動QT,說明QT已經安裝好了。
六、設置環境變數
更改用戶環境變數
gedit /home/username/.bashrc
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
更改包括root用戶的環境變數
sudo gedit /etc/profile (此處profile文件要更改一下許可權才能寫入)
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
七、測試環境變數
重啟測試環境變數:
qmake -v
顯示版本信息:
QMake version 2.01a
Using Qt version 4.8.2 in /usr/local/Qt-4.8.2/lib
which qmake
顯示安裝位置信息:
/usr/local/Trolltech/Qt-4.8.2/bin/qmake
環境變數設置成功。
代碼:
如果需要在Qt中引用其他的包以及庫文件,則使用:
INCLUDEPATH += /usr/local/include/
INCLUDEPATH += /usr/local/include/Eigen
INCLUDEPATH += /usr/local/include/boost
INCLUDEPATH += /usr/local/include/CGAL
LIBS += -L/usr/local/lib/ -lgmp
LIBS += -L/usr/local/lib/ -lmpfr
其中LIBS參數中 -l後只能接特定某一個庫文件,且如果該文件為 「libxxx.so「,則-l後只接「xxx」。
上面就是搭建Qt開發環境的方法介紹了,作為一個良好的跨平台開發工具,Qt能夠很好的運行於更大主流系統,擁有豐富的API等。