![]() |
[BCB] Compilerdirektive wird nicht vom Linker erkannt
Moin,
ich habe einen solchen Konstrukt probiert
Code:
Das funktioniert aber nur zur Entwurfszeit bzw. nur mit dem Compiler. Die IDE springt z.B. in die korrekte Datei.
#ifdef DK
#include "Texte_DK.h" #elif defined (GER) #include "Texte_GER.h" #elif defined (IT) #include "Texte_IT.h" #endif Nun werden aber alle defines vom Linker ignoriert, d.h. der findet gar nichts und erzählt mir von nicht auflösbaren externen Referenzen. Wenn ich die Headerdateien jetzt ins Projekt aufnehme, sucht der Linker nur bis zum ersten Vorhandensein der Referenz, es kommt also immer dänisch raus :shock: Wie kann ich dem Linker beibringen, welche Datei er verwenden soll? Danke, Messie |
Re: [BCB] Compilerdirektive wird nicht vom Linker erkannt
Wenn kein Precompiler Symbol definiert ist, wird auch nichts included.
Deshalb sollte auch etwas im else-Teil stehen:
Code:
#ifdef DK
#include "Texte_DK.h" #elif defined (GER) #include "Texte_GER.h" #elif defined (IT) #include "Texte_IT.h" #else #include "Texte_EN.h" // default sprache #endif |
Re: [BCB] Compilerdirektive wird nicht vom Linker erkannt
Zitat:
Nochmal zur Struktur: meine Texte stehen in den genannten Dateien. Für jeden Text ist eine WideString-Variable deklariert, die zusätzlich im Header als extern bekanntgegeben wird. Möglicherweise steckt darin das Problem. Also in der cpp-Datei
Code:
und in der dazugehörigen Headerdatei
WideString ParametersText = (WideString)L"\x0050\x0061\x0072\x0061\x006D\x0065\x0074\x0072\x0065";
Code:
Ist es vielleicht nicht korrekt, auf die Headerdatei zu verweisen? Das würde mein C-Verständnis etwas erschüttern :stupid:
extern WideString ParametersText;
Grüße, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz