Compilieren und Linken?
-
Hi!
Ich bin am Anfang vom umstieg von C auf C++.
Dazu lese ich gerade ein gutes Tutorial.
So nun steht da ich soll die von mir im BCB 6 erstellte
CPP Datei mit eine Klasse kompilieren und dann die Objekt
Datei zum Projekt Linken. Nur wie mach ich das. Ich hab
eine get.cpp und eine get.h die get.h hab ich mittels
#include "get.h" in die get.cpp geschrieben und beides im
BCB 6 offen aber wo kann ich das jetzt kompilierne oder
muss ich dazu erst ein projekt anlegen???MFG
Maruu
-
Maruu schrieb:
muss ich dazu erst ein projekt anlegen?
Ja, wenn du die IDE benutzen willst.
"Musst" ist natürlich relativ, du könntest auch an der Kommandozeile compilieren und linken, dann benötigst du kein Projekt. Die nötigen Kommandozeilenparameter kannst du der Hilfe zu bcc32.exe bzw. ilink32.exe entnehmen.
-
Ok ich hab jetzt mal ein neues Projekt erstellt, und hab unter Ansicht-Projektverwaltung bei der zu erstellenden Exe noch die gethttp.cpp hinzugefügt.
So nun muss ich aber noch nen Fehler in der Klasse haben da er dauernd meckert, hier meine gethttp.h:[cpp]#ifndef DATUM_H
#define DATUM_H
#include <vcl.h>
class GetHtmlSource
{
AnsiString Url;
int Port;
AnsiString Username;
AnsiString Password;
AnsiString UrlParameter;public:
GetHtmlSource(void); //Konstruktor
void setUrl(AnsiString newUrl);
void setUsername(AnsiString newUsername);
void setPassword(AnsiString newPassword);
void setPort(int newPort);
void setUrlParameter(AnsiString Variable, AnsiString Value);
AnsiString getSource(void);
~GetHtmlSource(void); //Destruktor
};
#endifUnd hier die gethttp.cpp:
#include "gethttp.h"
GetHtmlSource::GetHtmlSource(void) //Konstruktor
{
Url=-1;
Port=-1;
Username=-1;
Password=-1;
UrlParameter=-1;
}void GetHtmlSource::setUrl(AnsiString newUrl)
{
Url=newUrl;
}void GetHtmlSource::setUsername(AnsiString newUsername)
{
Username=newUsername;
{void GetHtmlSource::setPassword(AnsiString newPassword)
{
Password=newPassword;
}void GetHtmlSource::setPort(int newPort)
{
Port=newPort;
}void GetHtmlSource::setUrlParameter(AnsiString Variable, AnsiString Value)
{
if(UrlParameter==-1){
UrlParameter="?";}
else{
UrlParameter=UrlParameter+"&";}
}AnsiString GetHtmlSource::getSource(void)
{
return 404;}
}GetHtmlSource::~GetHtmlSource(void) //Destruktor
{}
};[/cpp]Und zwar sagt er, an der geschweiften Klammer die ich Fett makiert hab, in der Zeile nach setPassword in der cpp File folgendes:
[C++ Fehler] gethttp.cpp(23): E2089 Bezeichner 'setPassword' darf keinen Typqualifizierer besitzen
[C++ Fehler] gethttp.cpp(79): E2139 In Deklaration fehlt ;Wenn ich die Methode setPassword komplett lösche dann kommt es bei setPort also beim nächsten. Was kann das sein?
Das Programm ist noch ned ganz logisch also macht nix sinnvolles aber würde mich trotzdem interessieren was der Fehler is?
MFG
Maruu
Edit:
Bitte die Code-Tags benutzen. Danke!
-
In der Funktion davor ist die schliessende geschweifte Klammer falsch herum.
Es kommt sehr häufig vor, dass die Fehlerursache vor der angezeigten Zeile liegt, das also immer mit abchecken.Die anderen Flüchtigkeitsfehler findest du hoffentlich selbst.

Und in Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
Denn mit der ursprünglichen Frage hatte das ja so oder so nichts mehr zu tun.
-
Sorry ich könnte mich in den A... beissen,
aber danke nochmal.Gruß
Maruu