#define Probleme
-
Hallo,
ich hoffe ich bin im richtigen Forum, aber es dürfte wohl stimmen, da die Frage recht allgemein ist.
Folgende Situation (mit MS VS):main.cpp:
#define STRICT #define _WIN32_WINNT 0x0500 #define _WIN32_IE 0x0500 #include <windows.h> #include <commctrl.h> #include "resource.h" #include "extra.h" //Rest (benötigt _WIN32_WINNT >= 0x0500)extra.h:
#ifndef EXTRA_H #define EXTRA_H #if (_WIN32_WINNT < 0x0500) #undef _WIN32_WINNT #define _WIN32_WINNT 0x0500 #endif #include <windows.h> //Funktionsdeklarationen (benötigen _WIN32_WINNT >= 0x0500) #endifund extra.cpp:
#include "winextra.h" //Funktionsdefinitionen (benötigen _WIN32_WINNT >= 0x0500)Es funktioniert zwar alles, aber ich denke, es ist nicht sehr fein, wie ich _WIN32_WINNT in der extra.h neudefiniere.
Weil eigtl. müsste ja beim kompilieren der main.cpp ein Fehler kommen, dass _WIN32_WINNT bereits definiert ist, oder?
Wo und wie sollte man dieses Makro am besten definieren?
MfG,
Max
-
Dies gehört eher ins WinAPI-Forum (wegen <windows.h>).
Aber helfen kann ich dir trotzdem.
Du solltest die Variable _WIN32_WINNT nicht direkt in den Sourcen setzen, sondern am besten direkt bei den Projektoptionen: -D_WIN32_WINNT=0x0500.
Oder aber, wenn du vorkompilierte Header-Dateien (z.B. stdafx.h) verwendest, dann dort an zentraler Stelle.Und in "extra.h" würde ich höchstens eine Compiler-Fehlermeldung werfen:
#if (_WIN32_WINNT < 0x0500) #error _WIN32_WINNT should be >= 0x0500 !!! #endif
-
Danke für die Tips!
Ich werde jetzt mit der stdafx.h arbeiten.
Das ist auch viel übersichtlicher..
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.