Ein Windowsprogramm ist etwas von einer Dos-Exe grund verschiedenes ..

Ein Compiler macht aus deinem Code Objectfiles, ohne auf eingebundene Module Ruecksicht zu nehmen. Der Linker macht aus diesen Bausteinen dann erst das fertige Programm.

Wenn du eingestellt hast, dass das Ganze eine Win-Anwendung ist, so linkt der Linker automatisch gegen die standard Windows-Libs, unter anderem auch auf gdi32.lib (libgdi32.a) in welcher erst TextOut definiert ist.

Wenn du das ganze als Consolenanwendung schreibst, linkt er gegen andere Bibliotheken, so dass automatisch ein Dosfenster erzeugt wird. Wenn du ihm dann trotzdem noch sagst, dass TextOut in gdi32.lib gespeichert ist, findet er die Funktion natuerlich , und kann dein Fenster mit Text erzeugen, jedoch bleiben dann die Libs fuer die Console erhalten ... was dennoch sehr nuetzlich sein kann, wenn man schnell debugausgaben oder aehnliches mit printf rauschicken will ...

Natuerlich hatte ich bei meinem Test auf GUI gestellt ... wusste ja nicht, dass du auf Console stehen hattest ^^

Gruss Ineluki