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)
Спасибо!