當前位置:首頁 » 編程軟體 » qt自定義編譯輸出

qt自定義編譯輸出

發布時間: 2023-03-20 21:30:15

⑴ qt一直構建Pro文件,這是為什麼呢我的Pro文件和編譯信息輸出如圖片所示,好幾天了,那位大俠指

應該自己寫了一個最簡單的Hello程序。同時也就開始使用了一個命令:qmake –project 。這個命令是用來生成QT的工程文件(.pro)的,這個文件是用來設置編譯或者鏈接的變數,以便用qmake生成相對應的Makefile文件。這個文件的基本內容就是:
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
SOURCES += main.cpp

⑵ qt輸出安卓程序設置

1.新建一個普通Widgets的工程

?2.選擇Desktep Qt5.9.3 MinGW 32bit編譯器和Android for armeabi-v7a (GCC 4.9, Qt 5.9.3 for Android armv7)編譯器

?3.然後選擇默認的就行

?4.在mainwindow.ui界面上,放入兩個按鈕,分別命名為發布和訂閱

?5.選擇MinGW 32bit的debug編譯模式,構建和運行

?6.選擇Android的debug模式重新構建,構建完後,在工程同目錄下,生產一個build-AndroidTest3-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_3_for_Android_armv7-Debug文件夾,在該生產的文件的android-buildin目錄下,會生成該項目的APK

?7.點擊運行按鈕,在彈出框中選擇AVDVertualDevice安卓模擬器,如果沒有則點擊【Creat Android Virtual Device】按鈕新建一個。

?8.點擊【ok】按鈕後,等待安卓虛擬機啟動一段時間,會彈出如下界面:(注意:要等安卓虛擬機完全開機完後,才會自動運行剛才的apk程序,第一次啟動可能需要4-5分鍾左右,如果需要持續調試,可以不用關閉該安卓虛擬機)

?9.如果剛才生產的apk沒有自動啟動的話,可以把剛才生產的apk丟進安卓虛擬機中進行測試

⑶ QT 自定義處理調試信息

在QT中,我們經常使用 qDebug() 、 qInfo() 等來列印調試的信息,但是當列印信息過多時,很不利於查找閱讀。所以本文介紹使用 QtMessageHandler 類中的 qInstallMessageHandler() 來自定義處理調試信息。

一、在主線程中注冊調試信息處理回調

這里的 outputMessage 即為自定義的觸發函數,當程序有調試信息時,將會調用此函數

二、實現觸發函數

說明:此函數需要接受三個參數
QtMsgType type :表示調試信息類型,包括 QtDebugMsg (調試消息)、 QtInfoMsg (信息消息)、 QtWarningMsg (警告消息和可恢復的錯誤)、 QtCriticalMsg (關鍵錯誤和系統錯誤)、 QtFatalMsg (致命錯誤)
const QMessageLogContext &context :表示有關日誌消息的其他信息,比如文件名 context.file 、行號 context.line 等等。
const QString &msg :表示原始的調試信息。
這樣,我們就可以根據調試信息類型,自定義處理調試信息,並列印到日誌文件等等。

但是有時候,我們會有這樣的需求,有些類型如神的信息需要列印到屏幕,而有些類型的信息需要列印渣頃虧到日誌。當注冊了調試信息處理的回調,如何分類去處理呢?
查看QT文檔中對於 qInstallMessageHandler() 的描述,可以知道該函數返回一個指向上一個消息處理程序,可以理解為上一個消息處理函數的指針。因此在使用 qInstallMessageHandler() 注冊回調時,可以保存函數的返回,從而用之前的處理程序來處理調試信息
例如:

使用 s_messageHandler 來保存函數的返回值,即指向了上一個消息處理函數。在 outputMessage() 函數中使用 s_messageHandler

這樣就實現了將Info等信息列印到日誌,而debug信息列印到屏幕。
註: 以上寫入日乎亂志文件的寫法,並不是線程安全的,需要加鎖來保證線程安全,這里就不再贅述。

正常的運行程序,日誌內容如下:

實際項目中遇到了編譯出的Release版本,日誌輸出沒有文件信息、行數的問題。如下:

解決方法:
在.pro文件中添加宏

一定要先刪除掉之前編譯的中間文件,重新qmake!這樣就可以在Release版本中正確輸出日誌信息。

⑷ Qt如何雙擊自定義文件後使用自編程序打開

Qt程序你編譯出來就是一個.exe應用程序啊,直讓念接雙擊打開就行了,不過你如果要發布的話,要把要用到的庫打包在一起,這坦頌困樣雙擊打開就可以直接運行了,不然會提示你缺少動櫻殲態庫的

⑸ qtcreator中文路徑編譯解決

辦法

1、首先,在Qt Creator中,在項目設置中,編譯器部分,勾選「忽略路徑中的非ASCII字元」卜悔州。

2、然後,在Qt Creator中,在項目設置中前鄭,編譯器部分,添加編譯器參數「-fexec-charset=gbk」。

3、最後,在Qt Creator中,在項目型蔽設置中,鏈接器部分,添加鏈接器參數「-fexec-charset=gbk」。

⑹ 新手求助 qt5.6forAndroid 編譯輸出有個錯誤

看起來你並不是要編沖做譯mysql庫,而是要使散凱衡用mysql庫啊: -llibmysql 然後接下來這兩條信息是說沒找到libmysql.dll文件: c:/qt/mingw/bin/孫滲../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -llibmysql collect2: ld returned 1 exit status mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1

⑺ QT控制台程序怎麼輸出中文字元

跟Qt關系不大,這和你源文件編碼格式和編譯器有關系。

可以給你個建議把上面的程序改成Qt版本的, 哈哈。步驟如下~
1 是用qtcreator
2 如果是, 檢查
工具--選項--文本編輯器--行為 選項卡下的File Encodings 中,default Encoding下拉選框里沒有中文編碼(gbk、gb2132或gb18030等)。我這里是system

3 在程序里
int main(xxxx)
{
QApplication app(xxxx);
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));

qDebug() << QObject::tr("中文");
//記得中文用QObject::tr()包裹起來,這樣就可以顯示中文了。

app.exec();
}

⑻ 在Windows下Qt里為什麼沒有終端輸出

在 QT creator左邊菜單欄,單褲沖擊<項目>---->Build&Run--->Run---Run in terminal默認是勾選的,不勾選,運行,然後再胡弊殲勾選卜頌中,就可以彈出終端窗口了

⑼ 怎麼在Qt creator中加入命令行參數進行編譯程序

直接創建一個QT GUI應用 沒添加任何代碼

編譯輸出如下:
21:34:14: 為項目test1執行構建步驟 ...
21:34:14: 配置沒有改變, 跳過 qmake 步驟.
21:34:14: 正在啟動 "nmake.exe"
{1"?} {2?}
qtcreator_ctrlc_stub: Command line failed: nmake.exe
21:34:14: 進程"nmake.exe"崩潰。
構建項目test1 時發生錯誤 (目標: 桌面)
當執行構建步驟 'Make'時

在構建和運行那裡設置「使用jom代替nmake」後,編譯輸出如下:
。。。。。。。
'cl' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\main.obj] Error 1
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\mainwindow.obj] Error 1
jom 1.0.8 - empower your cores
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile [debug] Error 2
21:37:32: 進程"E:\QT_new_start\QtCreator\bin\jom.exe"退出,退出代碼 2 。
構建項目test1 時發生錯誤 (目標: 桌面)
當執行構建步驟 'Make'時執行qmake沒問題

⑽ Qt中tr函數如何輸出變數

Qt在創建工程時,不要使用中文,這會操作無法編譯
在給控制項添加中文的時候 通常都會產生亂碼,處理方法:
1. 在main.cpp中添加
#include<QTextCodec>
QTextCodec::setCodecForTr(QTextCode::codecForLocale() ); /銀枯/ 取得本地操作系統的語系
在mainWindow.cpp中處理:
ui->pushButton ->setText( tr(" 中國 "));
2.使用翻譯器:Qt文件夾中 assistant.exe;
在pro文件中加入TRANSLATIONS = w.ts
就可以調用lupdate.exe 工具配余 在高能級設置設置中path中添加路徑變數鋒賣洞 並且包含bin目錄中的dll 文件
在控制台中調用一次lupdate 然後在調用Linguist (好麻煩....) 總之ts文件轉換為 qm文件
在main.cpp中
#include <QTranselator>
QTranselator d;
d.load("../w/w.qm");
a.installTranslator(&d);

熱點內容
mysql存儲過程語法 發布:2024-04-19 21:00:04 瀏覽:245
修復損壞的壓縮文件 發布:2024-04-19 20:53:32 瀏覽:423
編程發型 發布:2024-04-19 20:53:28 瀏覽:500
去除空格sql 發布:2024-04-19 20:43:30 瀏覽:785
linuxcp覆蓋 發布:2024-04-19 20:43:30 瀏覽:189
mplayerlinux 發布:2024-04-19 20:33:57 瀏覽:800
華勤伺服器怎麼樣 發布:2024-04-19 20:33:15 瀏覽:410
安卓app應用程序擴展名是什麼 發布:2024-04-19 20:08:29 瀏覽:560
sqlserver2005圖標 發布:2024-04-19 19:37:26 瀏覽:946
動畫與編程 發布:2024-04-19 18:53:10 瀏覽:315