probs mit linker (public symbol redefined)



  • hi!

    ich hab folgendes problem, mein linker spuckt folgende fehlermeldung aus:
    "Warning: Public symbol '_users' defined in both module Z:\WIN32\INCLUDE\CMDS.OBJ and Z:\WIN32\INCLUDE\SYSTEM.OBJ"

    warum die fehlermeldung kommt ist mir eigentlich klar, nur ich weiss nicht wie ich das richtig mach 🙂

    also, ich hab im prinzip 2 units mit je 2 header dateien und eine der units verwendet die header datei der anderen unit und dort habe ich auch variablen die ich "global" sind, daher auch die fehlermeldung.

    also:

    unit1:

    #include unit2.h

    unit2:

    #include unit2.h

    unit2.h:

    int users;

    und dann beim linken werden die beiden kompilierten objektdateien "zusammengelinkt".

    hoff ja das war soweit verständlich.

    was mach ich falsch/wie muss ichs machen?!

    alles in eine datei schmeissen will ich ned, das wird ziemlich unübersichtlich 🙂

    gruss,

    matthias



  • hi,
    naja, du könntest z.B. eine unit1.h erstellen und die variablen da drin anders nennen.

    edit: achja, und wie wärs mit namespaces ?

    lw

    [ Dieser Beitrag wurde am 16.11.2002 um 07:39 Uhr von Lawilog editiert. ]



  • was sind namespaces? google macht mich da nicht schlauer...

    leider brauch ich den wert der variablen in der andren unit/objectdatei

    hm, ich versuchs mal zusammenzukompilieren, müsste eigentlich auch gehn

    danke und gruss,

    matthias


Anmelden zum Antworten