Qt編譯和連結錯誤

2020-07-16 10:04:48
為了演示 Qt Creator 的報錯資訊,我們刻意製造一個小 Bug。依然使用《Qt Creator使用教學(簡明版)》一節中建立的專案和程式碼,雙擊 HelloWorld.pro,或者在 Qt Creator 主選單中選擇“檔案 --> 開啟檔案或專案”,或者按下 Ctrl+O 快捷鍵都可以開啟 HelloWorld 專案。

編譯錯誤

修改 widget.cpp,新增一行新程式碼和一個新標頭檔案,如下所示:
#include "widget.h"
#include "ui_widget.h"
#include <QtTest/QTest>  //new header file

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    qsleep(1000);  //new code
}

Widget::~Widget()
{
    delete ui;
}
<QtTest/QTest> 是 Qt 單元測試模組的標頭檔案,它裡面有一個睡眠函數 void QTest::?qSleep(int ms),讓當前程式睡眠引數指定的 ms 毫秒。上面示範故意寫錯了函數名,S 大寫變成了小寫 s 。

點選執行按鈕,或者按下 Ctrl+R 快捷鍵,就可以看到如下圖所示的編譯錯誤:
Qt Creator報錯信息