Visual C++ 2005 Express Edition: erkennt keine mehrfachdefinition einer Variablen
-
Hallo,
Problemstellung:
das Compiler/ Linker System erkennt nicht das eine globale variable 2X definiert wurde - wurde während eines Reviews entdeckt und ist natürlich ein Programmierfehler, keine FrageDer Built liefert keinerlei Warnung und mich würde interessieren wie man den Linker so einstellen kann
ich wäre sehr dankbar. wenn mir jemand eine Information geben könnte, die man
die GUI des VC++ 2005 so konfigurieren kann dass man wenigstens eine Warnung bekommt. Ich würde ungerne auf 2013 migrieren, falls vermeidbar.Bsp:
module A.c
char test;module B.c
char test;Microsoft Visual Studio 2005
Version 8.0.50727.867 (vsvista.050727-8600)
Microsoft .NET Framework
Version 2.0.50727 SP2Installed Edition: VC Express
Microsoft Visual C++ 2005 76542-000-0000011-00125
Microsoft Visual C++ 2005
-
Deine Module werden als C Programm kompiliert und haben C-Linkage.
Zudem Deine Variablen nicht initialisiert.
Das Verhalten ist normal.https://stackoverflow.com/questions/18544249/what-is-the-difference-between-the-global-variables-in-c-and-c
https://stackoverflow.com/questions/3691835/why-uninitialized-global-variable-is-weak-symbolInitialisiere beide und Du hast Deinen Fehler.
Oder arbeite eben mit C++ Linkage...