qmake編譯
『壹』 Qt下如何編譯庫
akefile文件。一般是qt里自帶的qmake工具。
首先先寫好cpp和頭文件,在當前目錄下依次執行qmake -project,qmake,make即可編譯。
另外,團IDC網上有許多產品團購,便宜有口碑
『貳』 用qt怎麼編譯一個c程序
qt幾?用gcc編譯。不過要用qt的工具先生成Makefile文件。一般是qt里自帶的qmake工具。首先先寫好cpp和頭文件,在當前目錄下依次執行qmake -project,qmake,make即可編譯。
『叄』 qmake生成的dsp,vc6編譯不通過,搞了一天,求助
qmake生成的dsp,vc6編譯不通過,搞了一天,求助!!
1 qmake -project -o hello.pro
2 qmake
3 nmake
4 qmake -t vcapp -o hello.dsp hello.pro
生成的hello.dsp在vc6中打開,先提示轉換,轉換後,編譯,提示如下
NMAKE : fatal error U1052: file 'hello.mak' not found
Stop.
Error executing NMAKE.
------------------------------
dsp文件的內容如下:
#############################################################################
# Makefile for building: hello
# Generated by qmake (2.01a) (Qt 4.3.0) on: ??? ?? 19 17:12:20 2008
# Project: hello.pro
# Template: vcapp
# Command: G:\Qt\4.3.0\bin\qmake.exe -t vcapp -win32 -o hello.dsp hello.pro
#############################################################################
first: all
install: debug-install release-install
uninstall: debug-uninstall release-uninstall
MAKEFILE = hello.dsp
QMAKE = G:\Qt\4.3.0\bin\qmake.exe
DEL_FILE = del
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
COPY = /y
COPY_FILE = /y
COPY_DIR = x /s /q /y /i
INSTALL_FILE = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = del
SYMLINK =
DEL_DIR = rmdir
MOVE = move
CHK_DIR_EXISTS= if not exist
MKDIR = mkdir
SUBTARGETS = \
debug \
release
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall
release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
hello.dsp: hello.pro ..\.qmake.cache ..\mkspecs\win32-msvc\qmake.conf ..\mkspecs\features\exclusive_builds.prf \
..\mkspecs\features\default_pre.prf \
..\mkspecs\features\win32\default_pre.prf \
..\.qmake.cache \
..\mkspecs\qconfig.pri \
..\mkspecs\features\qt_functions.prf \
..\mkspecs\features\qt_config.prf \
..\mkspecs\features\debug.prf \
..\mkspecs\features\debug_and_release.prf \
..\mkspecs\features\default_post.prf \
..\mkspecs\features\win32\rtti.prf \
..\mkspecs\features\win32\exceptions.prf \
..\mkspecs\features\win32\stl.prf \
..\mkspecs\features\shared.prf \
..\mkspecs\features\warn_on.prf \
..\mkspecs\features\qt.prf \
..\mkspecs\features\win32\thread.prf \
..\mkspecs\features\moc.prf \
..\mkspecs\features\win32\windows.prf \
..\mkspecs\features\resources.prf \
..\mkspecs\features\uic.prf \
..\mkspecs\features\yacc.prf \
..\mkspecs\features\lex.prf \
g:\Qt\4.3.0\lib\qtmain.prl
$(QMAKE) -t vcapp -win32 -o hello.dsp hello.pro
..\mkspecs\features\exclusive_builds.prf:
..\mkspecs\features\default_pre.prf:
..\mkspecs\features\win32\default_pre.prf:
..\.qmake.cache:
..\mkspecs\qconfig.pri:
..\mkspecs\features\qt_functions.prf:
..\mkspecs\features\qt_config.prf:
..\mkspecs\features\debug.prf:
..\mkspecs\features\debug_and_release.prf:
..\mkspecs\features\default_post.prf:
..\mkspecs\features\win32\rtti.prf:
..\mkspecs\features\win32\exceptions.prf:
..\mkspecs\features\win32\stl.prf:
..\mkspecs\features\shared.prf:
..\mkspecs\features\warn_on.prf:
..\mkspecs\features\qt.prf:
..\mkspecs\features\win32\thread.prf:
..\mkspecs\features\moc.prf:
..\mkspecs\features\win32\windows.prf:
..\mkspecs\features\resources.prf:
..\mkspecs\features\uic.prf:
..\mkspecs\features\yacc.prf:
..\mkspecs\features\lex.prf:
g:\Qt\4.3.0\lib\qtmain.prl:
qmake: qmake_all FORCE
@$(QMAKE) -t vcapp -win32 -o hello.dsp hello.pro
qmake_all: FORCE
make_default: debug-make_default release-make_default FORCE
make_first: debug-make_first release-make_first FORCE
all: debug-all release-all FORCE
clean: debug-clean release-clean FORCE
distclean: debug-distclean release-distclean FORCE
-$(DEL_FILE) hello.dsp
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
mocclean: debug-mocclean release-mocclean
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
mocables: debug-mocables release-mocables
FORCE:
$(MAKEFILE).Debug: hello.dsp
『肆』 ununtu系統qmake編譯cpp文件生成pro文件時出錯:提示Extra characters after test expression.求高手指點
生成pro應該在源碼工作目錄中直接打如下命令
qmake -project
『伍』 Mac OS X下控制台執行qmake為什麼不能生成Makefile
完整的qmake語法是:
注意:主要是-spec macx-g++這個選項,為qmake指定編譯環境,在Windows下可以增加一個QMAKESPEC的系統環境變數,值為win32-g++或者msvc2005等等,具體看編譯器類型,在Mac下也可以這樣做,省去每次qmake加選項的煩惱.具體的makespec取值看目錄/usr/local/Qt4.4/mkspecs/下的目錄名稱,對應你的編譯環境,以macx-g++為例,編輯~/.profile文件,如果沒有則創建一個,加入一行:export QMAKESPEC=macx-g++,存檔重新打開控制台便可以了。
但是此時僅僅使用qmake命令,雖然生成了一個Makefile,但並沒有像Windows下那樣同時產生Makefile.Debug、Makefile.Release文件和debug、release兩個存放編譯中間文件的目錄,雖然此時可以make成功並產生目標程序,但中間文件都散落在源碼目錄中,比較難看,這就是後面這個參數CONFIG+=debug_and_release沒有加上的原因,為了一勞永逸,在/usr/local/Qtx.x/mkspecs目錄中找到對應的macx-g++目錄,其中有一個文件叫qmake.conf,用文本編輯器打開,在其中的CONFIG+=這行中加入參數debug_and_release,重新qmake,搞定!
『陸』 mac os 10.8中qmake命令已經可以識別,但是一到真正編譯就發現很多問題,如下面的情況,我
安裝xcode裡面的那個tools
『柒』 請問 我在linux下安裝Qt-SDK成功之後,用qmake 命令編譯hello.pro程序,提示找不到qmake命令
下載完成後在下載目錄中執行
chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin
接著執行安裝./qt-sdk-linux-x86-opensource-2010.05.1.bin
在/root下vi .bashrc 在文件末尾填入一下幾行
export QTDIR=/home/tm/qt/qt
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QMAKESPEC=/home/tm/qt/qt/mkspecs/linux-g++(如果qmake編譯時候出現錯誤:QMAKESPEC has not been set, so configuration cannot be deced.
Error processing project file: XXXXX.pro 就加入這一行)
其中QTDIR 的值為安裝qt-sdk-linux-x86-opensource-2010.05.1.bin 的目錄
可以寫hello world! 測試一下.
文件名自己替換啊
『捌』 QT裡面為什麼能編譯vc
Qt實際上是把Qt代碼轉成純C++
再由
C++編譯器
編譯
Qt編譯器提供了mingw和VC兩個版本
mingw版本將Qt代碼轉成符合mingw規范的C++代碼
VC版本將Qt代碼轉成了符合VC規范的C+++代碼
在由對應的編譯編譯成
可執行程序
所以在用qmake編譯整個工程後
qmake會生成一個Makefile文件
這個文件告訴make程序如何編譯這個工程
『玖』 使用qmake自動編譯Qt程序,怎麼設置g++的編譯選項
1)系統中是不是存在多個qt版本?(codeblocks設置了正確的版本)
2)環境變數是否正確?qdir,qmakespec(新版本qt已經不需要),path
3)如果是qt程序,最好還是要用qmake的,因為qmake是gcc之前的一個步驟,也就是說,qmake之後還要make的。如果實在不想用捷徑,那要手動做很多工作,如moc編譯,資源編譯等,這比qmake復雜很多,初學者不推薦
『拾』 qt的qmake命令的使用方法
我來回答你的問題吧 首先make命令一般是linux上gcc默認使用的 而windows上編程一般使用visual c++的,它的編譯器命令就不是make而是nmake。其次你使用qtCreator編譯就可以,沒必要使用命令行,因為命令行需要設置環境變數的。如果硬要使用命令行可以用qt工具欄里找一個qt command prompt,這裡面用minw32-make可以編譯,ming32是qtcreator使用的編譯器。
改成#include <QtGui/QApplication>試試