Problem mit Verknüpfen von Quellcodedateien
-
Hallo erstmal, ich bin neu in dem Forum, hab schon einiges gelesen, aber nichts, das eine Antwort auf mein Problem hätte. Da ich ein blutiger Anfänger in C++ bin wollte ich mein Problem mal vorstellen. (Ich besitze das Microsoft Visual Studio 6)
Mein Code besteht aus 3 Dateien:
haupt.cpp
#include <iostream> #include "h.h" using namespace std; int main() { string kette; cout <<"geben sie etwas ein "; cin >>kette; cout <<k(kette); return 0; }
f.cpp
#include <iostream> #include <string> using namespace std; int k(string kette) { int i =0; char b; do { b = kette[i++]; }while( b != '\0'); return (i-1); }
h.h
#include <string> using namespace std; int k(string kette);
Ich habe einen Standard Arbeitsbereich erstellt.
Mein Problem: Ich habe exakt den gleichen Quellcode in 2 verschiedenen Projekten. (Die Projekte sind meines erachtens absolut identisch) ->sie sind nur in verschiednen Ordnern
In dem einen Projekt kann ich den Code compillieren, in dem anderen Projekt erhalte ich 2 Fehlermeldungen beim Compillierversuch:
--------------------Konfiguration: haupt - Win32 Debug--------------------
Kompilierung läuft...
haupt.cpp
Linker-Vorgang läuft...
haupt.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int __cdecl k(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?k@@YAHV?char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
Debug/haupt.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.haupt.exe - 2 Fehler, 0 Warnung(en)
Ich bin mittlerweile total verzweifelt, da ich den Fehler nicht finde. Einmal funktioniert der Code einwandfrei und in dem anderen Projekt kann ich ihn nicht kompillieren.
Vielen Dank schonmal für Antworten
Don Quijote
-
haupt.cpp
Linker-Vorgang läuft...Da steht nichts von f.cpp, diese wird wahrscheinlich nicht richtig in das eine
Projekt eingebunden sein und deshalb nicht kompiliert werden
-
Danke erstmal für die schnelle Antwort.
Mein Problem ist jetzt, dass ich beide Projekte auf exakt die gleiche Weise erstellt habe, mit dem unterschied, dass es 1x geklappt hat und dann nicht wieder.
Wenn die f.cpp nicht richtig eingebunden ist, wie kann ich das erreichen?
Edit: du hast recht, die funkton wird nicht aufgeführt. es existiert nur main. Allerdings weis ich nicht, wie ich die Quellcodedatei einbinden kann.
Edit2: So hab etwas rumprobiert und die Lösung gefunden.
Vlt. hilft es noch anderen Leuten:Projekt->Dem Projekt hinzufügen-> Dateien: ->->aus Liste auswählen
Vielen Dank für deine Hilfe Storm.Xapek.de, ohne deine Bemerkung wär ich niemals drauf gekommen.