1

基本的に私はここで基本的な例に従っています。私の.proファイルには。が含まれていますQT += core network qtestlib。[解決済み]タイプミスqtestlibの代わりにtestlib

を含めるQVERIFYと、次のリンカーエラーが発生します。

testwaypointlist.obj:-1: error: LNK2019: unresolved external symbol "bool __cdecl
QTest::qVerify(bool,char const *,char const *,char const *,int)"
(?qVerify@QTest@@YA_N_NPBD11H@Z) referenced in function "private: void __thiscall
TestWaypointList::fillWaypoints(void)" (?fillWaypoints@TestWaypointList@@AAEXXZ)

リンクするのにどのファイルがありませんか?QVERIFYリンカなしではエラーは消えます。

ヘッダーファイル:

#include <QObject>
#include <QtTest/QtTest>
#include "waypointlist.h"

//
// Testing the waypoint list
//
class TestWaypointList : public QObject
{
    Q_OBJECT

private:
    WaypointList _waypointList;
public:
    explicit TestWaypointList(QObject *parent = 0);
private slots:
    void fillWaypoints();
};

cpp:

//
// Fill the waypoint list
//
void TestWaypointList::fillWaypoints()
{
    _waypointList = WaypointList();
    .....

    for (int i=0; i < TESTWPLISTCOUNT; i++) {
        .....
        TestWaypointList::_waypointList.updateOrAppend(id, timeframe);
    }
    QVERIFY(TestWaypointList::_waypointList.count() == 1); // causing the linker error
}
4

1 に答える 1

2

QT += qtestlib.proファイルで、に変更する必要がありますQT += testlib(「q」がないことに注意してください)。

注目すべきことに、以前はこれを行うことができましたが、このページCONFIG += qtestlibのコメントによると、これはテストライブラリにリンクするための推奨される方法ではなくなりました。

于 2012-08-22T16:05:49.803 に答える