C++ header in /clr Projekt einbinden.



  • Hallo allerseits.
    Habe ein kleines Problem:

    Ich habe ein /clr Projekt in dem ich managed mit unmanaged code mixe.
    Im unmanaged Teil des codes wird eine Header aus einem IBM Produkt eingebunden.
    In dieser Header werden folgende Bibliotheken eingebunden:

    # include <iostream.h>
    # include <limits.h>
    # include <fstream.h>
    # include <string.h>
    # include <iomanip.h>
    #  include <strstrea.h>
    #  include <strstream.h>
    

    Dies gibt Fehler der Art:
    Cannot open include file: 'iostream.h': No such file or directory

    Wenn das .h an den einzelnen Headern entfernt wird, werden keine Fehler ausgegeben, bis auf strstrea.h .
    Wenn ich statdessen strstream einbinde, werden viele Fehler im Code der Header ausgeben, ala Identifier ostream not found.

    Wenn ich ein Win32 Projekt erstelle, die diese Header nutz, funktioniert das ganze ohne Probleme.

    Muss ich eine bestimmte Projekteinstellung nutzen, damit der für das einbinden der Header weiß, das dort natives C++ und kein Clr steht?

    Danke für die Hilfe



  • Die Header der C++ Standard Library sind allesamt ohne .h am Ende.

    Probiers mit <iostream>

    Einige Ausnahmen gibts: z.B. wird <string.h> zu <cstring>, in <string> sind die C++ Strings definiert... <cstring> dagegen ist ein C Kompatibilitätsheader.

    Simon


Log in to reply