Fehler: Nicht aufgelöstes Token



  • Hey,

    stehe vor einem kleinen Problem:

    Es erscheinen beim Start meines Programmes folgende Fehlermeldungen:

    Fehler	1	error LNK2020: Nicht aufgelöstes Token (06000084) TSearchNS.CompareSearchStringEventArgs::.ctor.	Main.obj	
    Fehler	2	error LNK2020: Nicht aufgelöstes Token (06000084) TSearchNS.CompareSearchStringEventArgs::.ctor.	Search.obj
    Fehler	3	error LNK2020: Nicht aufgelöstes Token (06000085) TSearchNS.CompareSearchStringEventArgs::get_ToCmp.	Main.obj	
    Fehler	4	error LNK2020: Nicht aufgelöstes Token (06000085) TSearchNS.CompareSearchStringEventArgs::get_ToCmp.	Search.obj	
    Fehler	5	error LNK2020: Nicht aufgelöstes Token (06000086) TSearchNS.CompareSearchStringEventArgs::get_FoundString.	Main.obj	
    Fehler	6	error LNK2020: Nicht aufgelöstes Token (06000086) TSearchNS.CompareSearchStringEventArgs::get_FoundString.	Search.obj	
    Fehler	7	error LNK2020: Nicht aufgelöstes Token (06000087) TSearchNS.CompareSearchStringEventArgs::set_FoundString.	Main.obj	
    Fehler	8	error LNK2020: Nicht aufgelöstes Token (06000087) TSearchNS.CompareSearchStringEventArgs::set_FoundString.	Search.obj	
    Fehler	9	fatal error LNK1120: 8 nicht aufgelöste externe Verweise.	C:\Users\Documents\Visual Studio 2008\Projects\Searcher.exe
    

    Zur Erklärung:

    Habe eine .cpp-Datei namens "Search.cpp", diese besitzt "Search.h" als Header Datei. Daneben habe ich noch eine "TextFunctions.cpp" Datei mit der dazugehörigen "TextFunctions.h". In der "Main.cpp" möchte ich nun Klassen aus der "Search.cpp" Datei verwenden.
    Habe ich da vielleicht ein Fehler mit den includes gemacht?
    Folgende includes habe ich verwendet:

    1. Search.cpp --> #include "Search.h"

    2. Search.h --> #include "TextFunctions.h" (Da gewisse Klassen aus "TextFunctions" in "Search" verwendet werden)

    3. TextFunctions.cpp --> #include "TextFunctions.h"

    4. Main.cpp --> #include "Search.h"

    Wäre um ne Antwort/Lösung meines Problems sehr dankbar.

    LG



  • Es fehlen bestimmte Definitionen im Main.cpp und im Search.cpp.
    Das heisst es gibt eine Dekl. aber keine Impl.

    Zeige doch mal Main.cpp, sowie das Seach.h.

    Simon



  • --- Main.cpp ---

    #using <mscorlib.dll>
    #using <System.DLL>
    #include "SearchTree.h"
    #include <iostream>
    #include <tchar.h>
    #include <msclr/marshal.h>
    #include <msclr\marshal_cppstd.h>
    #include <string>
    
    using namespace System;
    using namespace System::Text;
    using namespace System::Text::RegularExpressions;
    using namespace System::Collections;
    using namespace System::Collections::Generic;
    using namespace System::Diagnostics;
    using namespace System::Runtime::InteropServices;
    
    int main(void)
    {
    	std::cout << "OK" << std::endl;
    	return 0;
    }
    

    --- Search.h ---

    #using <mscorlib.dll>
    #include <windows.h>
    #include "TextFunctions.h"
    #include <iostream>
    #include <list>
    #include <tchar.h>
    #include <msclr/marshal.h>
    #include <msclr\marshal_cppstd.h>
    #include <string>
    
    using namespace System;
    using namespace System::Text;
    using namespace System::Text::RegularExpressions;
    using namespace System::Collections;
    using namespace System::Collections::Generic;
    using namespace System::Diagnostics;
    using namespace System::Runtime::InteropServices;
    
    namespace TSearchNS
    {
    	using namespace TextFunctionsNS;
    
    	public ref class SearchItem
    	{
            (...)
    }
    

    Die Search.h umfasst knapp 500 Zeilen, fand ich doch nen bissl zu lang, um hier alles zu posten... Falls irgendwas fehlt, einfach Bescheid sagen.

    LG



  • Such z.B. mal nach der Impl. des Konstruktors von CompareSearchStringEventArgs.
    Denn die fehlt z.B..
    Simon



  • Habe folgendes bei mir in der Search.h Datei stehen:

    public ref class CompareSearchStringEventArgs : EventArgs
    	{
    	protected:
    	System::String^ strToCmp;
    	bool bFoundString;
    	//--------------------------------------------------------
    	public:
    	CompareSearchStringEventArgs(System::String^ strToCmp, bool bFoundString);
    	//--------------------------------------------------------
    	property System::String^ ToCmp
    	{
    		System::String^ get();
    	}
    	property bool FoundString
    	{
    		bool get();
    		void set(bool value);
    	}
    	//--------------------------------------------------------
    	};
    

    Muss dort jetzt noch etwas ergänzt werden?



  • property System::String^ ToCmp
    	{
    		System::String^ get();
    	}
    	property bool FoundString
    	{
    		bool get();
    		void set(bool value);
    	}
    

    wie wäre es wenn Du die Property-Funktionen mit Funktionalität füllst?



  • Okay, dachte das hätte ich in der .cpp getan. 🙄
    Jetzt läufts.
    Danke 😉


Anmelden zum Antworten