[Gelöst]RAD Studio XE VCL/iostream Fehlermeldungen



  • Hallo,

    ich habe ein einfaches C++ Projekt für das RAD Studio XE2 erzeugt (kompletter Quelltext!):

    #include <iostream>
    #include <vcl.h>
    
    int _tmain( int argc, _TCHAR* argv[] )
    {
    }
    

    Beim Übersetzen hagelt es Fehlermeldungen, z.B. im Header iosfwd, Zeile 129:

    typedef streampos wstreampos;
    

    `

    [BCC32 Fehler] iosfwd(129): E2102 Vorlage 'streampos' kann ohne Spezifizierungsparameter nicht verwendet werden.

    `

    Wenn ich den Header <iostream> auskommentiere erhalte ich wieder einen Batzen Fehlermeldungen, z.B. im Header sysmac.h, Zeile 512:

    typedef ShortString* PShortString,
    

    `

    [BCC32 Fehler] sysmac.h(512): E2102 Vorlage 'ShortString' kann ohne Spezifizierungsparameter nicht verwendet werden.

    `

    Habe an den Projekteinstellungen nichts geändert und die Standardeinstellungen benutzt, hat jemand eine Ahnung, woran das liegen könnte?

    Edit:
    Nach´m Neustart geht´s wieder... fängt ja gut an o.O



  • Ist wohl ein Wink mit dem Zaunpfahl lieber was anderes als RAD Studio zu nehmen. SCNR.



  • DocShoe schrieb:

    Nach´m Neustart geht´s wieder...

    Das ist tatsächlich fast der einzige Ratschlag, den ich dir hätte geben können. Der Fehler tritt und trat bei mir in fast allen Versionen gelegentlich auf und hängt damit zusammen, daß der in der IDE vielbeschäftigte Compiler (dieselbe Instanz wird fürs Compilieren, für Code Insight, für den Class-Explorer und offenbar auch im ActiveX-Umfeld benutzt) leider doch nicht so reentrant ist, wie er sein sollte, und sich gelegentlich einfach verschluckt.

    Was du ab XE2 auch machen kannst, ist das Auslagern des Buildvorganges in einen externen Prozeß; dazu gibt es in den Projektoptionen einen Switch, der die IDE veranlaßt, einen externe bcc32-Instanz aufzurufen, anstatt den integrierten Compiler (comp32x.dll) zu verwenden. Code Insight funktioniert dann aber immer noch nicht. Und ein unschöner Workaround ist es außerdem. (Der Grund für die Einführung dieser Option war, daß BCC-Benutzer verschiedentlich an Speichergrenzen stießen, und als externer Prozeß muß BCC32 sich den knappen 32-Bit-Adreßraum wenigstens nicht mit der IDE teilen.)

    Ich denke auch, daß wir diese Probleme nicht loswerden, solange der alte BCC verwendet wird. (Außerdem denke ich, daß der Nachfolger bereits als verschleierte Technology Preview mit XE2 ausgeliefert wurde und noch niemand das bemerkt hat, aber das tut nichts zur Sache 🙂 )

    Edit: Grammatik



  • audacia schrieb:

    Außerdem denke ich, daß der Nachfolger bereits als verschleierte Technology Preview mit XE2 ausgeliefert wurde und noch niemand das bemerkt hat,

    Dann wird XE3 wahrscheinlich eine unverschleierte Technology Preview und erst bei XE4 wird es sich wieder lohnen mal hinzusehen ...



  • Hoffen wir's mal nicht.



  • Wenn ich meine Erwartungen nicht so hoch schraube, werde ich ja vielleicht positiv überrascht.

    Zumindest scheinen sie ja schon länger am neuen Compiler zu arbeiten, es wird also nicht so ein Schuss aus der Hüfte, wie z.B. FireMonkey. Das soll anscheinend wirklich beim Kunden "reifen".


Anmelden zum Antworten