Knallkopp schrieb:
Nun ja, nehmen wir mal an, ich benutze in meinem Programm die Header-Datei "ddraw.h" und linke gegen "ddraw.lib". Da hab ich ja so gesehen keine explizite Angabe irgendeiner Version. Es gibt ja kein "ddraw5.h", "ddraw6.h" oder "ddraw7.h". Obwohl es trotzdem verschiedene Versionen von DirectDraw gab. (DirectDraw ist ja nicht seit Version 1 exakt gleich geblieben.)
So, ich linke also ganz allgemein gegen "ddraw.h"/"ddraw.lib". Und wenn ich jetzt zum Beispiel das DirectX 7 SDK installiert habe (mit der siebener Version von "ddraw.h"/"ddraw.lib") und damit kompiliere, mein Programm aber nur Funktionen benutzt, die schon in DirectX 5 vorhanden waren, würde das Programm dann auf einem Computer laufen, der nur die DirectX 5 Runtime installiert hat?
Wenn du gegen eine bestimmte Version von DirectDraw compilieren willst, dann musst du DIRECTDRAW_VERSION definieren. Und zwar natürlich bevor du das "ddraw.h" File inkludierst:
#define DIRECTDRAW_VERSION 0x400 // nur Features bis DirectDraw 4 verwenden
#include <ddraw.h>