Problem mit Shapereader

XT-19
Neuling
Neuling
Beiträge: 4
Registriert: 27. Okt 2011 13:31

Problem mit Shapereader

Beitrag von XT-19 »

Ich bekomme folgende Fehlermeldung: undefined reference to `Shapereader::readFiniteShapeFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'

Die Zeilen aus der pr3.cpp

Code: Alles auswählen

        std::string filename = "sampleshapes.txt";
        std::vector<FiniteShape*> finiteShapes = Shapereader::readFiniteShapeFile(filename);
In der shapereader.h

Code: Alles auswählen

static std::vector<FiniteShape*> readFiniteShapeFile(std::string path);
und in der cpp:

Code: Alles auswählen

static std::vector<FiniteShape> Shapereader::readFiniteShapeFile(std::string path){
...
};
Hat jemand eine Idee an was das genau liegen kann?

jojo1704
DON'T PANIC
Beiträge: 42
Registriert: 12. Apr 2011 11:18

Re: Problem mit Shapereader

Beitrag von jojo1704 »

Bei mir läuft es wenn ich es mit VS2010 kompiliere aber g++ auf clientshh gibt mir folgenden fehler:

/shapereader.cpp:20: error: no matching function for call to âstd::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::string&)â

die fragliche Zeile: ifstream myfile(path);

Wenn ich path durch "sampelshapes.txt" ersetze funktioniert es komischerweise wieder. Irgendwer Ideen?

Drno
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 10. Feb 2005 20:16

Re: Problem mit Shapereader

Beitrag von Drno »

Ifstream erwartet den Dateinamen als literal oder als char array. path.c_str() oder filename.c_str() sollte dir weiterhelfen.
Programming today is a race between software engineers striving to build bigger and better idiot proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

jojo1704
DON'T PANIC
Beiträge: 42
Registriert: 12. Apr 2011 11:18

Re: Problem mit Shapereader

Beitrag von jojo1704 »

Vielen Dank, das hat das Problem bei mir gelöst.

XT-19
Neuling
Neuling
Beiträge: 4
Registriert: 27. Okt 2011 13:31

Re: Problem mit Shapereader

Beitrag von XT-19 »

Mich würde interessieren ob jemand eine Idee hat, wie ich das Problem was ich anfangs beschrieben habe lösen kann. Über jeden Hinweis wäre ich sehr dankbar!
Cheers,
XT

Drno
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 10. Feb 2005 20:16

Re: Problem mit Shapereader

Beitrag von Drno »

Hast du die cpp Datei wie in der Aufgabenstellung beschrieben in die CMakeList.txt eingefügt?
Programming today is a race between software engineers striving to build bigger and better idiot proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

XT-19
Neuling
Neuling
Beiträge: 4
Registriert: 27. Okt 2011 13:31

Re: Problem mit Shapereader

Beitrag von XT-19 »

Es ist fast peinlich das zu sagen... aber ich glaube, so wie es gerade aussieht, war genau das der Fehler.

Benutzeravatar
Langbaeh
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 16. Okt 2007 10:16
Wohnort: DA

Re: Problem mit Shapereader

Beitrag von Langbaeh »

ich schlage ja immer folgene reihenfolge für übungsaufgaben vor:
1. aufgabenstellung lesen -> 2. aufgabe lösen -> 3. im forum fragen

wenn man das ganze umdreht führt das meist zu peinlichen situationen

Tobio
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 4. Okt 2010 15:47

Re: Problem mit Shapereader

Beitrag von Tobio »

Hallo,

habe das gleiche Problem, aber bei mir ist die Datei schon in cmakelist enthalten.

Allerdings sagt mir Eclipse auch, dass meine statische Funktion nicht verwendet wird.

Woran kann das liegen?

Tobio
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 4. Okt 2010 15:47

Re: Problem mit Shapereader

Beitrag von Tobio »

hab den Fehler gefunden : static darf nicht in der cpp stehen und Shapereader::readFinite... hat gefehlt ^^

tacu
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 13. Apr 2011 18:35

Re: Problem mit Shapereader

Beitrag von tacu »

mal ein anderes problem mim shapereader:

an sich funktioniert er, auch in meiner IDE, da musste ich die sampleshapes.txt aber in den Projekt ordner der von der IDE erzeugt wurde einfügen.

auf dem poolrechner (oder auch in meinem ubuntu) findet er die Datei aber nicht. ich hab sie wie im coderahmen in den gleichen ordner gemacht wie meine files und der cmakelist.
muss die datei irgendwo anders hin? oder muss ich einen ganzen pfad zur datei angeben?

edit: also wenn ich den gesamten pfad zur datei angebe (in der pr3.cpp) dann funktioniert es. die frage ist also eher ob das so sein darf? also ob in den testaten auch der gesamte pfad angegeben wird.

jdn
Neuling
Neuling
Beiträge: 8
Registriert: 4. Nov 2011 13:55

Re: Problem mit Shapereader

Beitrag von jdn »

tacu hat geschrieben:muss die datei irgendwo anders hin?
Die Datei muss im gleichen Ordner wie die Praktikum3 (die executable) liegen. Wenn du mit cmake kompilierst ist das vermutlich der build Ordner. ;)

danny
Mausschubser
Mausschubser
Beiträge: 51
Registriert: 17. Okt 2010 22:32

Re: Problem mit Shapereader

Beitrag von danny »

Noch etwas genauer gesagt muss die Datei, die du einlesen willst, in den Ordner, aus dem heraus du Praktikum3 ausführst.

downsampling
Mausschubser
Mausschubser
Beiträge: 95
Registriert: 28. Mär 2011 22:58

Re: Problem mit Shapereader

Beitrag von downsampling »

danny hat geschrieben:Noch etwas genauer gesagt muss die Datei, die du einlesen willst, in den Ordner, aus dem heraus du Praktikum3 ausführst.
Danke !!! So funktioniert es endlich. Schon peinlich, dass es zwei Tage lang nur daran lag. :oops:

Antworten

Zurück zu „Archiv“