當前位置:首頁 » 編程軟體 » gcc怎麼編譯qt

gcc怎麼編譯qt

發布時間: 2023-06-11 14:35:04

linux命令行編譯qt程序時,默認使用的是arm-linux-gcc編譯器,生成的可執行程序無法

修改$QTDIR/mkspecs目錄下的符號鏈接default.將其指向linux-g++
$QTDIR是路徑,具體要看你把QT裝到什麼地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符號鏈接的作用是讓qmake在生成Makefile的時候將Makefile文件中的編譯器變數$CC與$CXX賦值成gcc和g++

⑵ 用qt怎麼編譯一個c程序

qt幾?用gcc編譯。不過要用qt的工具先生成Makefile文件。一般是qt里自帶的qmake工具。首先先寫好cpp和頭文件,在當前目錄下依次執行qmake -project,qmake,make即可編譯。

⑶ 我在linux下寫了個程序,怎麼用gcc編譯

gcc是一個編譯器,qt是一個界面編程工具,兩者是不能比的。

linux下編譯c程序必然要用到gcc編譯器,而qt則是用來開發界面程序的,類似windows下微軟的mfc,你要在linux下寫程序,必然的要會使用gcc對你的程序進行編譯,至於qt只是個基於C++的界面程序開發工具,覺得以後用到就學一下,用不到就算了。

我在和你說一遍,gcc只是一個編譯器。
你的意思是linux下的c/c++集成開發環境吧,anjuta,eclipse等等都可以,但他們只是提供了開發環境,編譯器還是用的gcc。

⑷ 編譯Qt 4.7.3在GCC 4.6 MinGW問題,怎麼解決

認真核操作步驟:
1、修改環境變數工具推薦:Rapid Environment Editor
修改前請先備份前環境變數:
(1)檢查系統變數path刪除關mingw其版本等信息免與續mingw32-make沖突
(2)檢查用戶變數INCLUDE、LIB、PATH、MSDevDirMSVCDir刪除關\Microsoft Visual Studio\VC98信息與續mingw32-make沖突導致編譯錯
2、????電腦安裝mingw編譯器假設路徑安裝C:\Qt\mingw32C:\Qt\mingw32\bin添加進環境變數path打DOS命令行輸入gcc --versiong++ --versionmingw32-make --version驗證編譯器安裝功我用MinGW版本V4.8.2
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄例:D:\qt-everywhere-opensource-src-4.8.6\
4、依執行DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
見使用選項說明:
-debug-and-release 編譯debugrelease版
-opensource 選擇源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結目錄,未指定則默認前
-shared 創建使用共享Qt庫
-static 創建使用靜態Qt庫
-nomake demos -nomake examples 編譯常式
-nomake tests 編譯tests

-skip qtwebkit 忽略qtwebkit編譯特別消耗間

-mp 使用核優化編譯

(2)mingw32-make
(3)mingw32-make install
5、編譯完C:\Qt\mingw32\bin\路徑三文件libgcc_s_dw2-1.dll、libstdc++-6.dlllibwinpthread-1.dll拷貝D:\qt-everywhere-opensource-src-4.8.6\bin\另外請步驟1備份環境變數原
6、修改Qt安裝路徑
初編譯選擇路徑D:\Qt4.8.6\想復制其盤符並且改名例:C:\Qt\4.8.6_MinGW問題問題Qt絕路徑依賴症改名C:\Qt\4.8.6_MinGW\bin\exe執行程序都問題要程序打要語言發異用記事本打C:\Qt\4.8.6_MinGW\bin\qmake.exe查找關鍵字qt_prfxpath看面含原始安裝路徑我手修改qmake.exe真效解決:
C:\Qt\4.8.6_MinGW\bin\路徑創建qt.conf文件內容
[paths]
Prefix = C:/Qt/4.8.6_MinGW

請注意:qt.conf文件必須ANSI格式並且Prefix斜杠風格採取Linux非Windows否則失效或者使用"Prefix = .. "任意路徑效

⑸ qt編譯問題

QT默認安裝後 在options 下有 QT4 選項 有QT versions 需要設置下QT的目錄
QT的編譯採用MinGW的編譯器(開源版)MinGW是GCC的Win移植版.

Could not find make command: mingw32-make.exe in the build environment 意思是找不到MinGW的make工具,請將MinGW的bin目錄加入系統的path變數中,在options中有調試器(debug)中選擇mingw調試器gdb的位置
(位於MinGw bin目錄下)

⑹ Qt Creator里如何設置gcc編譯的優化等級

不是release優化的問題。如果是直接運行的話,mingwm10.dll、libgcc_s_dw2-1.dll、qtcore4.dll、qtgui4.dll,還有相應的你用到的庫都要放在運行目錄下,用dependency walker可以看到dll依賴情況。
然後用到的插件比如qmltooling、imageformats等目錄也需要拷到運行目錄中,這個用工具看不到依賴,只能全拷然後用排除法,有經驗之後代碼里哪些用到了就知道了。

出現runtime library錯誤的最大可能性就是運行目錄下的插件不完整。

另外有一種解決方法就是把qt改成靜態鏈接,編譯進exe,商業版允許這樣做,lgpl版的話如果不是自用就有法律風險。

⑺ 請教,如何在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等。

⑻ 如何靜態編譯發布Qt應用程序

如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。

熱點內容
127小時ftp 發布:2025-02-11 09:47:10 瀏覽:851
安卓怎麼看蘋果手機的行駛軌跡 發布:2025-02-11 09:26:19 瀏覽:884
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892
梅花適合用哪些植物進行配置 發布:2025-02-11 08:30:54 瀏覽:252
安卓手機如何像蘋果一樣彈窗 發布:2025-02-11 08:26:33 瀏覽:912
壓縮文件掃碼 發布:2025-02-11 08:20:55 瀏覽:258