Linker Warnung: mehrfach definiert



  • Hallo,
    ich habe in einer include Datei (Ini.h) die Konstatnte INIDATEINAME erzeugt

    #ifndef IniH
    #define IniH

    //######################################################################
    // S y s t e m definierte Include
    #include <vcl.h>
    #include <dir.h>
    #include <stdio.h>

    //######################################################################
    // K o n s t a n t e n
    // Name der Ini_Datei
    const char* INIDATEINAME = "\\Myini.ini";
    //----------------------------------------------------------------------
    class TIniDatei : public TErrorText
    {
    ........ usw.

    Diese Ini.h habe ich wiederrum eingefügt in die Hauptform.h

    //----------------------------------------------------------------------
    #ifndef HauptformH
    #define HauptformH

    //######################################################################
    // S y s t e m definierte Include
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ComCtrls.hpp>
    #include <Menus.hpp>
    #include <ExtCtrls.hpp>

    //######################################################################
    // B e n u t z e r definierte Include
    #include "Ini.h"

    //----------------------------------------------------------------------
    class THauptForm : public TForm
    {
    __published: // Von der IDE verwaltete Komponenten
    TMainMenu *MainMenu1;
    ...... usw.

    Um dem Ereignis "Application->OnActivate = HauptForm->AplActivate;"
    ein Handle zuweisen zu können habe ich Hauptform.h in die Project.cpp eingefügt.

    Jetzt bekomme ich vom Linker die Warnung:
    [Linker Warnung] Public symbol '_INIDATEINAME' defined in both module P:\PROJECT.OBJ and P:\HAUPTFORM.OBJ

    Wie muss ich meine include gestalten um die Warnung zu umgehen?

    Danke
    Evi48



  • Wieviele Threads liefert die Suchfunktion z.B zu 'both module', und wieviele davon hast du gelesen?



  • Hallo Jansen,
    ich habe gelesen und gesucht weil ich bereits im vergangenen Jahr gelernt habe erst dann zu fragen wenn man nict weiter weiss. Dies ist ja auch der richtige Weg und in der Suche und den FAQ stehen schon viele Antworten.

    Ich bin der Meinung, dass keine der Fragestellungen und Lösungen zu meinem Problem passt und zweifle im Moment an mir selbst, denn nur über Haupform.h hat Haupform.obj und Project.obj Zugriff auf Ini.h und somit auf INIDATEINAME.

    Evi48


Anmelden zum Antworten