getrennte Includes und doppelte Funktionsdefinitionen ?



  • Hallo,

    ich habe zwei Klassen, die eine soll eine DX8 SDK von 2001 und die andere eine DX9 SDK von 2008 verwenden. Die Klassen alleine lassen sich in seperaten Programmen gut kompilieren, zusammen in einem Programm meldet der Kompiler dann doppelte definierte Strukturen.

    Meine Frage ist, ob es moeglich ist durch geschicktes includieren doppelte Definitionen zu vermeiden, oder ob der Kompiler hier generell einfach doppeltes nicht akzeptiert.
    Was meint ihr, ist das moeglich ?

    Gruesse
    TheNoName



  • das würde die ODR verletzen.
    setz das versions-define auf 9.0 und verwende ausschliesslich die 2008er SDK headers.

    sollte das nicht gehen, dann bau zwei DLLs, die eine mit DX8, die andere mit DX9, und verwende in deinem programm dann deine beiden DLLs.

    die DLLs können dann intern verwenden was sie wollen, so lange sie keine SDK strukturen/defines/... in "ihren" öffentlichen header-files verwenden.

    natürlich wirst du dazu evtl. eininge dinge pimpeln müssen, aber naja, auch keine tragik.


Anmelden zum Antworten