Seite 1 von 1

geany hat ein Problem mit c++ Klassen

Verfasst: Di Aug 07, 2012 3:21 pm
von gizno82
Hallo liebe Leut,

Ich arbeite auf einem Debian System und bin gerade dabei den Geany Editor zu testen.
Bis jetzt gefällt mir Geany auch ganz gut, aber irgend wie scheint Geany keine c++ Klassen.
Ich habe eine einfache Klasse geschrieben um Geany auszubrobieren, nichts was irgend wie Sinn macht.

Geany erkennt class, public, private und protected gar nicht als c++ Schlüsselwort sondern es wird als normaler Text interpretiert.

Unter Ecplipse lässt sich alles einwandfrei compilieren.

Geany sagt mir folgendes:

test.cpp:(.text+0x13): undefined reference to `cBla::cBla()'
test.cpp:(.text+0x5f): undefined reference to `cBla::setValue(int)'
test.cpp:(.text+0x6b): undefined reference to `cBla::getValue()'
test.cpp:(.text+0xae): undefined reference to `cBla::~cBla()'

hier noch ein bisschen Quellcode:

Hier befindet sich das Hauptprogramm:

Code: Alles auswählen

#include <iostream>
#include "ctest.h"

using namespace std;

int main(void)
{
int value;
cBla bla;


	cout << "Bitte Wert eingeben" << endl;
	cin >> value;
	bla.setValue(value);
	cout << "Der Wert ist: " << bla.getValue() << endl;

	return 0;
}
Headerdatei der Klasse:

Code: Alles auswählen

class cBla
{
	private:
		int value;
	public:
		void setValue(int value);
		int getValue(void);
		cBla(void);
		~cBla(void);
};
cpp datei der Klasse

Code: Alles auswählen



#include "ctest.h"


cBla::cBla(void)
{
	
}


cBla::~cBla(void)
{
	
}

void cBla::setValue(int value)
{
	this->value = value;
}


int cBla::getValue(void)
{
	return value;
}
wie gesagt unter eclipse läuft alles einwandfrei.

Weiß jemand von euch wo der Hund begraben liegt.


Re: geany hat ein Problem mit c++ Klassen

Verfasst: Di Aug 07, 2012 4:12 pm
von Xin
Das klingt, als würde die Implementierung (.cpp) der Klasse nicht zum zu kompilierenden Projekt gehören.

Re: geany hat ein Problem mit c++ Klassen

Verfasst: Di Aug 07, 2012 11:43 pm
von gizno82
So wie ich die Sache sehe kann man in Geany gar keine Projekte wie z.B. in Eclipse oder Code::Blocks erstellen.
Es gibt lediglich noch die Möglichkeit mit Makefiles zu arbeiten.

Gruß Gizno

gelöst: geany hat ein Problem mit c++ Klassen

Verfasst: Mi Aug 08, 2012 1:06 am
von gizno82
Hab jetzt des Rätsels Lösung

Wenn man bei Geany über Erstellen -> Erstellen oder per F9 sein Programm erstellen möchte, ist es leider so das Geany immer nur die Datei Compiliert, die gerade aktiv ist.
Das führt dann zu Fehlermeldungen wie dieser: main.cpp:(.text+0x7): undefined reference to `outPut()'

Man kann dieses Problem umgehen, in dem man ein Makefile erstellt das man dann mit Geany aufruft.

Leider gibt es keine anständige Projektverwaltung in Geany.

Gruß Gizno