Я пытаюсь сделать это (directDrawingPainterPath является членом класса типа QPainterPath):
directDrawingPainterPath = QPainterPath(point);
Однако при компиляции программы в visual studio появляется следующая ошибка:
1> ScribbleWidget.obj: ошибка LNK2019: неразрешенный внешний символ
"__declspec (dllimport) public: class QPainterPath & _ cdecl
QPainterPath :: operator = (class QPainterPath &&) "
( _imp _ ?? 4QPainterPath @@ QEAAAEAV0 @ $$ QEAV0 @@ Z) ссылка на функцию
"protected: virtual void __cdecl ScribbleWidget :: mousePressEvent (класс
QMouseEvent *) "
(? MousePressEvent @ ScribbleWidget @@ MEAAXPEAVQMouseEvent @@@ Z) * 1009 *
Когда я переписываю это так:
QPainterPath tmp(point);
directDrawingPainterPath = tmp;
Тогда это работает. Это также происходит для других заданий:
Это работает:
QString tmp = att.value().toString();
name = tmp;
Это не:
name = att.value().toString();
Кто-нибудь знает, в чем может быть проблема?
Обновление
Я только что нашел решение: проблема заключалась в том, что я пытался связать с QT, который был скомпилирован с VS2008, в то время как я скомпилировал проект с VS2010.
Использование QT, также скомпилированного с VS2010, заставляет все работать ...