Seite 1 von 1

SVG File generieren

Verfasst: 14. November 2007 16:05
von MasterBrain81
Hallo,
ich habe eine Funktion geschrieben, die mir aus einer Liste von Polygonen ein SVG File generieren soll. Aber ich bekomme bei der besagten Methode einen Linkerfehler. Vielleicht kann mir jemand bei der Lösung des Problems helfen.

Hier mal den Code der Methode:
void SvgGenerator::generateSvg(QList<QPolygonF> mWords)
{
QString fileName = "svgFile.svg";
SvgGenerator::svgGen->setFileName(fileName);

QPolygonF p = mWords.takeFirst();
QPainter *m_painter = new QPainter();

m_painter->begin(svgGen);

int i = 0;

while(i != mWords.size()-1)
{
p = mWords.takeAt(i);
m_painter->drawPolygon(p);
++i;
}
m_painter->end();
}

Folgende Klassen, die benötigt werden, habe ich dazu inculdiert:
#include <QtSvg/QSvgGenerator>
#include <QtCore/QList>
#include <QtGui/QPolygonF>
#include <QtCore/QString>
#include <QtGui/QPainter>

Und ich erhalte folgenden Fehler:
error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QSvgGenerator::setFileName(class QString const &)" (__imp_?setFileName@QSvgGenerator@@QAEXABVQString@@@Z) referenced in function "public: void __thiscall SvgGenerator::generateSvg(class QList<class QPolygonF>)" (?generateSvg@SvgGenerator@@QAEXV?$QList@VQPolygonF@@@@@Z)

Soweit wie ich nach meinen Recherchen verstanden habe, entsteht ein solcher Linkerfehler, wenn eine Bibliothek nicht includiert ist. Aber meines Erachtens nach habe ich alle benötigten Klassen includiert.

Verfasst: 14. November 2007 16:51
von Christian81
QT += svg

Verfasst: 14. November 2007 17:29
von MasterBrain81
Das versteh ich jetzt nicht ganz. Was soll mir QT += svg aussagen?

Verfasst: 14. November 2007 17:41
von solarix

Verfasst: 14. November 2007 17:51
von MasterBrain81
Recherchiert habe ich im Internet auch schon. Aber wo genau das Problem ist konnte ich nicht herausfinden.
Ich nehme an, dass irgendeine Bibliothek oder Klasse fehlt. Aber ich kann mir nicht erklären welche, meines Erachtens nach alle benötigten Klassen da sind.

Verfasst: 14. November 2007 17:54
von Christian81
Schonmal was von qmake-Dokugehört?
Oder auch nur einmal die Doku zum [url=http://doc.trolltech.com/4.3/qtsvg.html]SVG-Modul[/svg] durchgelesen?

Wie kann man was benutzen ohne sich vorher zu informieren wie es zu benutzen ist? :cry:

Verfasst: 15. November 2007 00:32
von MasterBrain81
Zum SVG-Modul habe ich fast alles gelesen. Aber die Zeile bzw. den Hinweis habe ich bei der umfangreichen Doku übersehen. Jetzt ist mir so einiges klar.
Bin leider auch nicht mehr so ganz auf der Höhe nach wochenlangen zu wenig geschlafe.
Vielen Dank! Sorry für irgendwelche Unannehmlichkeiten.