Qt5: main.obj:-1: ошибка: LNK2001: неразрешенный внешний символ "public: статический класс QPalette ColorUtils::white" (? White@ColorUtils@@2VQPalette@@A)

Я определяю статический QPalette в colorutils.h, и инициируйте его в colorutils.cpp.
Когда я звоню из основного или чего-то еще, я получаю эту ошибку.
Я пытаюсь очистить его, запустить qmake и восстановить его, но это не сработало.

colorutils.h

#ifndef COLORUTILS_H
#define COLORUTILS_H

#include <QPalette>

class ColorUtils
{

public:
    ColorUtils();
    static QPalette white;
};

#endif //COlORUTILS_H

colorutils.cpp

#include "colorutils.h"

ColorUtils::ColorUtils()
{
    white.setColor(QPalette::Background, QColor(255,255,255));
}

main.cpp

#include "mainwindow.h"
#include "version.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.setPalette(ColorUtils::white); // This line is the cause of the error
    w.setFixedSize(w.width(),w.height());
    w.show();

    return a.exec();
}

ошибки

main.obj:-1: error: LNK2001: unresolved external symbol "public: static class QPalette ColorUtils::white" (?white@ColorUtils@@2VQPalette@@A)
colorutils.obj:-1: error: LNK2001: unresolved external symbol "public: static class QPalette ColorUtils::white" (?white@ColorUtils@@2VQPalette@@A)

Спасибо!

0 ответов

Другие вопросы по тегам