Hallo,
Ich habe Sourcecode einer drittpartei, in C. Ich möchte ihn gerne in meine C++ applikation einbauen, verstehe allerdings nicht allzuviel von solchen sachen.
Ich kann die Sln im VS öffnen und builden, überhaupt kein Problem. Der C-Code errechnet gewisse daten und gibt diese in ein File aus. Alles was ich daran ändern möchte ist eigentlich lediglich dass die Daten stadtdessen in den Datentyp ausgegeben werden den ich dafür angelegt habe, damit ich sie in meinem Hauptprogramm weiterverarbeiten kann.
Jetzt ist aber das Problem: Ich füge dem C-projekt meine neue Klasse hinzu, und die Definition wird nicht anerkannt. Ist nichts gewaltiges, schlicht und einfach
class MyClass
{
public:
MyClass(void);
~MyClass(void)
.
.
.
};
Wenn ich die Klasse includiere spuckt mir der Compiler gleich für die erste Zeile einen Fehler aus:
error C2061: Syntaxfehler: Bezeichner 'MyClass'
offensichtlich fehlt ihm die Typdefinition, dabei ist das ja die Typdefinition. Ich denke mal das liegt daran das der ganze Rest des Projektes in C ist, denn ich hätte das Problem noch nie gehabt.
Ich habe auch versucht den Code in cpp files zu kopieren und in einem C++ projekt laufen zu lassen, aber dann überschlagen sich die Fehlermeldungen förmlich, und ich bin nicht gerade der Erfahrenste (C hab ich überhaupt nie verwendet, und C++ auch noch nicht so viel), weshalb ich mir den Horror die alle auszumerzen gerne ersparen würde. Gibt es da eine Möglichkeit?
Ich habe Sourcecode einer drittpartei, in C. Ich möchte ihn gerne in meine C++ applikation einbauen, verstehe allerdings nicht allzuviel von solchen sachen.
Ich kann die Sln im VS öffnen und builden, überhaupt kein Problem. Der C-Code errechnet gewisse daten und gibt diese in ein File aus. Alles was ich daran ändern möchte ist eigentlich lediglich dass die Daten stadtdessen in den Datentyp ausgegeben werden den ich dafür angelegt habe, damit ich sie in meinem Hauptprogramm weiterverarbeiten kann.
Jetzt ist aber das Problem: Ich füge dem C-projekt meine neue Klasse hinzu, und die Definition wird nicht anerkannt. Ist nichts gewaltiges, schlicht und einfach
class MyClass
{
public:
MyClass(void);
~MyClass(void)
.
.
.
};
Wenn ich die Klasse includiere spuckt mir der Compiler gleich für die erste Zeile einen Fehler aus:
error C2061: Syntaxfehler: Bezeichner 'MyClass'
offensichtlich fehlt ihm die Typdefinition, dabei ist das ja die Typdefinition. Ich denke mal das liegt daran das der ganze Rest des Projektes in C ist, denn ich hätte das Problem noch nie gehabt.
Ich habe auch versucht den Code in cpp files zu kopieren und in einem C++ projekt laufen zu lassen, aber dann überschlagen sich die Fehlermeldungen förmlich, und ich bin nicht gerade der Erfahrenste (C hab ich überhaupt nie verwendet, und C++ auch noch nicht so viel), weshalb ich mir den Horror die alle auszumerzen gerne ersparen würde. Gibt es da eine Möglichkeit?