Namespace zeigt fehler obwohl keiner da ist



  • ich habe ein kleines Problem,
    ich bin mir gerade eine Programm engine am schreiben,
    es geht auch alles soweit, jetzt wollte ich ein paar Zitate ausgeben lassen die
    ich in der engine.dll geschpeichert habe
    wenn ich das ganze Release bekomme ich denn Fehler

    1>------ Erstellen gestartet: Projekt: Tester, Konfiguration: Release Win32 ------
    1>  menu.cpp
    1>menu.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void __cdecl EngineNamespace::TNG::Prorgamm_Zitate(void)" 
    (?Prorgamm_Zitate@TNG@EngineNamespace@@SAXXZ)".
    
    1>G:\Programmierung\Vietcong3\Vietcong3 Launcher\Release\Tester.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    

    der namespace siht so aus:

    namespace EngineNamespace
    {
    	class TNG
    	{
                static __declspec(dllexport) void Prorgamm_Zitate(); //Fertig
            };
    }
    

    und so die dll funktion

    namespace EngineNamespace
    {
    	__declspec(dllexport) void TNG::Prorgamm_Zitate()
    	{
    string Text[21];
    			Text[1] = "...";
    			Text[2] = "...";
    			Text[3] = "...";
    			Text[4] = "...";
             int zahl = 0;
    			while(20 > zahl)
    			{
    				string message = Text[++zahl];
    				if(MessageBoxA(NULL,message.c_str(),"Zitate",MB_ICONINFORMATION|MB_OKCANCEL) == IDOK)
    				{
    					cout << zahl << endl;
    				}
    				else
    				{
    					zahl = 20;
    				}
    			}	
    	}
    

    ich habe die updater funktion genauso geschrieben von aufbau des namespace,
    dor bekomme ich allerdings keinen Fehler



  • Du zeigst nicht den Originalcode, deine Funktion ist private.

    Hast du vielleicht einmal Programm_ und einmal Prorgamm_ geschrieben?



  • Ich schreibe mal die Originalen codes

    #include "include.h"
    namespace EngineNamespace
    {
    	class TNG
    	{
    		public:
    			static __declspec(dllexport) void Login(char username[1024],char passwort[1024],char Resultat[1024]);
    			static __declspec(dllexport) void EinstellungenConsole();
    
    			static __declspec(dllexport) void Vietcong_connect(char ip[1024],char port[1024],char passwort[1024]);
    			static __declspec(dllexport) void Vietcong_serverquery(char Resultat[1024]);
    			static __declspec(dllexport) void Vietcong_befehl(char Resultat[1024]);
    
    			static __declspec(dllexport) void Vietcong2_connect(char ip[1024],char port[1024],char passwort[1024]);
    			static __declspec(dllexport) void Vietcong2_serverquery(char Resultat[1024]);
    			static __declspec(dllexport) void Vietcong2_befehl(char Resultat[1024]);
    
    			static __declspec(dllexport) void Vietcong3_connect(char ip[1024],char port[1024],char passwort[1024]);
    			static __declspec(dllexport) void Vietcong3_serverquery(char Resultat[1024]);
    			static __declspec(dllexport) void Vietcong3_befehl(char Resultat[1024]);
    
    			static __declspec(dllexport) void chat_connect(char ip[1024],char port[1024],char Name[1024]);
    			static __declspec(dllexport) void chat_sendChat(char TextSend[1024],char TextRecv[1024]);
    
    			static __declspec(dllexport) void Programm_FileCheck(); //Fertig, Bei neuen Dateien, ein Update in dieser Funktion machen
    			static __declspec(dllexport) void Prorgamm_Zitate();	//Fertig
    			static __declspec(dllexport) void Prorgamm_updater();	//Fertig
    			static __declspec(dllexport) void Playsound(char track[1024],int OnOff);//Fertig
    
    	};
    }
    

    Nur die Zitate nehm ich raus ^^

    #include "Funktion.h"
    #include "LaungeGeman.h"
    #include "include.h"
    
    namespace EngineNamespace
    {
    	__declspec(dllexport) void TNG::Prorgamm_Zitate()
    	{
    			string Text[21];
    //////Zitate Gelöscht /////////
    			int zahl = 0;
    			while(20 > zahl)
    			{
    				string message = Text[++zahl];
    				if(MessageBoxA(NULL,message.c_str(),"Zitate",MB_ICONINFORMATION|MB_OKCANCEL) == IDOK)
    				{
    					cout << zahl << endl;
    				}
    				else
    				{
    					zahl = 20;
    				}
    			}	
    	}
    }
    

Anmelden zum Antworten