RAD Studio BCB 2007 - Linker Error ohne Angaben



  • Hallo Forum,

    habe da mal eine kurze Frage. Eins meiner Projekte bricht beim Linken mit einem Fehler ab. Allerdings meldet mit der BCB nur, das zu viele Linker-Errors aufgetreten wären, ohne diese zu benennen.

    Was kann ich tun, damit ich die Fehler sehe, die er hat? Gibt es eine "Linker-Error-Anzeigen JA/NEIN" einstellung irgendwo?

    mfg

    Frank



  • AFAIK kann man in den Projektoptionen einstellen, wie ausführlich das Build-Log ist; vielleicht bewirkt das etwas.

    Edit: Möglicherweise hilft es auch, mal ein "Clean" durchzuführen, also alles aus dem \Debug- oder \Release-Ordner zu löschen.



  • Nun bin ich verwirrt....

    Ich habe den Fehler lokalisieren können, aber verstehen tu' ich's nicht...

    In einer Header Datei hatte ich folgendes drin:

    const char *name = "Blabla";
     const int version = 1;
    

    Diese header wird an mehreren Stellen inkludiert.

    Genau diese Variable "name" hat ILINK32 immer als Warnung (!!!) ausgegeben, sie sei in 2 Modulen definiert.
    Nachdem ich das nun in

    extern const char *name;
     const int version = 1;
    

    mit zugehöriger

    const char *name = "Babla";
    

    in der cpp-Datei geändert habe, läuft der ILINK auch wieder durch.

    Warum werden Warnings als Fehler behandelt? Oder ist die o.g. Warnung gar ein Fehler und wird falsch angezeigt?
    Warum stört er sich nur an "name" und nicht an "version"?

    Hilfe!!!! 😮

    mfg
    Frank



  • FrankBach schrieb:

    Warum werden Warnings als Fehler behandelt? Oder ist die o.g. Warnung gar ein Fehler und wird falsch angezeigt?

    Unabhängig davon ob es eine Warnung oder ein Fehler ist, sollte man dies immer beheben.

    FrankBach schrieb:

    Warum stört er sich nur an "name" und nicht an "version"?

    Version ist ein Konstanter Wert, name ist nach deiner Definition ein konstanter Wert mit nicht konstanten Zeiger. Konstanten werden anders behandelt als variable Werte. Was bringt eigentlich...

    char const * const name = "Blabla";

    ...für Warnungen?

    Die Änderung der Position des ersten const habe ich absichtlich geändert da man dann einheitlich wie folgt lesen kann: char-Konstante-Zeiger-Konstante

    cu André


Anmelden zum Antworten