日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt运行常见问题

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt运行常见问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Qtcreator中調試控制臺程序及調用printf打印不顯示問題

方法1

在qtcreator中調試控制臺程序或者其它c語言編寫的程序默認直接點擊調試會有窗口一閃而過并不會進入調試會直接結束,如果需要調試需要設置運行環境,取消Run in terminal選項。項目->運行->取消勾選Run in terminal

方法2

關于qtcreator調試控制臺程序使用printf打印不顯示問題,主要原因是緩存原因,有全緩沖,行緩沖,無緩沖,如無特殊操作(fflush(stdout))全緩沖只有達到當前緩沖區大小才會輸出,行緩沖則會在接受到\n換行符時輸出,無緩沖則是有什么輸出什么,網上看到關于該問題的解決方法都是調用fflush進行刷新,這種對于有較多地方那個需要打印比較麻煩,所以根據原理在main函數入口設置標準輸出為行緩沖或者無緩沖這樣就是實時打印信息了(標準錯誤一樣)

#include<stdio.h>int main() { //方法一setbuf(stdout,NULL);//方法二 //設置行緩沖需要用到另外一個函數 //_IOFBF 全緩沖 //_IOLBF 行緩沖 //_IONBF 無緩沖 //setvbuf(stdout,NULL,_IONBF,0);return 0; }

方法3

prinf("Hello World.\n")fflush(stdout);

方法4

使用qDebug?

問題分析:標準輸出和標準錯誤輸出均有緩存,緩存達到一定程度后,方才輸出;

二、Qt 問題:無法解析的外部符號

1.在.pro文件中已經加入依賴項后,頭文件可通過提示正常include,運行出現:

main.obj:-1: error: LNK2019: 無法解析的外部符號 "public: __cdecl Dialog::Dialog(class QWidget *)" (??0Dialog@@QEAA@PEAVQWidget@@@Z),該符號在函數 main 中被引用

main.obj:-1: error: LNK2019: 無法解析的外部符號 "public: virtual __cdecl Dialog::~Dialog(void)" (??1Dialog@@UEAA@XZ),該符號在函數 main 中被引用

debug\DockWindows.exe:-1: error: LNK1120: 2 個無法解析的外部命令

解決辦法:

對項目文件進行重新qmake后在運行該程序

2.新建一個類添加到工程里去,在已經添加頭文件的基礎上出現上述報錯,

解決方法:

1.添加該類的cpp文件

2.將當前qt工程所在的父目錄下的 build-(工程名)文件夾刪除,再運行

總結

以上是生活随笔為你收集整理的Qt运行常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。