Leerzeichen in Präprozessor



  • Hallo
    ich stelle in den Eigenschaften der VC++2008 folgendes ein:
    Präprozessordefinitionen

    ETHERNET_ADAPTER_NAME=""Ethernetadapter Ethernet""

    das funktioniert leider nicht, ich bekomme einen Compilerfehler

    wenn ich im Code definiere

    #define ETHERNET_ADAPTER_NAME "Ethernetadapter Ethernet"
    

    klappt es.
    Ich möchte die Definition aber gern in den Eigenschaften definieren,
    wie muss ich es anstellen das das Leerzeichen angenommen wird.
    Ich habe das Leerzeichen schon weggelassen, damit compiliert der Code,
    allerdings stimmt dann natürlich der Inhalt nicht mehr, also ist die Aufgabe
    herauszufinden wie ich das Leerzeichen hineinbekomme.
    Leider habe ich noch keine Lösung gefunden



  • Eine Lösung habe ich nicht, aber eine Gegenfrage: warum willst du das in den Projekt-Eigenschaften verankern? Es ist doch viel transparenter, wenn sowas direkt im Code steht. Und wenn du mal unbedarft einzelne Sourcefiles weitergibst, kann das ja auch zu Problemen führen. Es gibt zwar Fälle, in denen sowas nötig wird (durch die Kompilierungsreihenfolge), aber normalerweise sehe ich dafür keine Veranlassung.



  • Danke,
    ich möchte den (Test-) Code auf anderen Rechnern laufen lassen und
    wollte nicht das die Sourcen verändert werden.
    In die Doku schreibe ich hinein das die Projekteigenschaften verändert werden müssen damit der Test funktioniert.



  • Du könntest es auch so machen, dass du das Leerzeichen durch einen Unterstrich ersetzt. Dein Programm ersetzt dann diesen Unterstrich wieder durch Leerzeichen, bevor es ETHERNET_ADAPTER_NAME verwendet.
    😉


  • Mod

    MBreuer schrieb:

    ETHERNET_ADAPTER_NAME=""Ethernetadapter Ethernet""

    Muss in den Projekteinstellungen so heißen:

    ETHERNET_ADAPTER_NAME=\"Ethernetadapter Ethernet\"
    


  • Danke Burkhi, das habe ich auch schon überlegt, ist aber aus meiner Ansicht ein Hack.
    Jetzt nehme ich irgendein Zeichen das unwahrscheinlich ist,
    dann hat zufälligerweise der der das Projekt benutzt dieses Zeichen in seinem Adapternamen und schon habe ich das Problem.

    Natürlich könnte ich es auch selbst quoten
    das macht die Sache aber umständlicher.



  • Danke Martin, das war es.
    Jetzt würde ich gern den Beitrag als gelöst markieren, wie geht das ?



  • MBreuer schrieb:

    Danke Martin, das war es.
    Jetzt würde ich gern den Beitrag als gelöst markieren, wie geht das ?

    Einfach deinen ersten Beitrag editieren und den Titel verändern.


Anmelden zum Antworten