error: definition of static data member of dllimport'd class
-
HI,
ich bin mal wieder überfragt! Ich bekomme folgenden Fehler:
my_vtkStreamTracer.cc:43: error: definition of static data member 'my_vtkStreamTracer::EPSILON' of dllimport'd class.
make[1]: *** [Obj/my_vtkStreamTracer.o] Error 1Code:
// in my_vtkStreamTracer.h class VTK_GRAPHICS_EXPORT my_vtkStreamTracer : public vtkDataSetToPolyDataFilter { // ... protected: static const double EPSILON; // ... } // in my_vtkStreamTracer.cc const double my_vtkStreamTracer::EPSILON = 1.0E-12;
Wieso überhaupt dllimport'd class?
Ich verstehe das ganze nicht ...
KB
-
Ich habe immernoch dieses Problem. Kann mir jemand einen Hinweis geben?
Gruss, KB
-
Sieht so aus, als ob du deine DLL mit den falschen Voraussetzungen kompilieren willst. Normalerweise steht am Anfang des Headers etwas wie:
#ifdef VTK_GRAPHICS_API // DLL-Implementation: #define VTK_GRAPHICS_EXPORT __declspec(dllexport) #else // DLL-Nutzung: #define VTK_GRAPHICS_EXPORT __declspec(dllimport) #endif
(das DLL-Porjekt definiert VTK_GRAPHICS_API und definiert damit alle DLL-Funktionen und -Klassen als "dllexport", andere Projekte, die den Header nutzen wollen, definieren dieses Symbol nicht und bekommen die ganzen Funktionen als "dllimport" eingelinkt)
Und du hast offenbar vergessen, für die Compilation der my_vtkStreamTracer.cc-Datei die dllexport-Einstellungen zu setzen.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Vielen Dank,
das hat mir sehr weitergeholfen!
Jetzt läufts!Gruss, K.B.