VC++ 2005 - Probleme mit using namespace System

lukasS

Erfahrenes Mitglied
Hallo, würde mein Projekt gerne abschließen, wenn ich nicht eine blöde Textdatei auslesen müsste. SOwas habe ich noch nicht erlebt, kriege das unter .NET nicht gebacken.

Also, würde ja einfach das hinschreiben:

System::IO::StreamReader strReader(m_sHelpPath);
CString s;
s = strReader.ReadToEnd();
strReader.Close();

und das Problem wäre gelöst, aber dazu muss ich das hier machen:

using namespace System;
using namespace System::IO;

Genau hier ist das Problem. Kriege dann die Meldung:

Error 2 fatal error C1190: managed targeted code requires a '/clr' option d:\source\XML\SetEnvironment\SetEnvironment\DlgHelp.cpp 38

Nach stundenlangen suchen, fand ich die Lösung (leider nicht für mich), in den "Projekteigenschaften/Configuration Properties/General" das "Comnon Language Runtime Support" auf "Common Language Runtime Support (/clr)" umstellen. Nun kriege ich die Meldung:

"Error 1 Command line error D8016 : '/MTd' and '/clr' command-line options are incompatible cl

Nach weiteren Sucherfolgen finde ich immernoch keine Lösung dafür, habe, glaube ich, schon alles ausprobiert.

Achso, eine Meldung habe ich noch:

Error 1 fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] C:\Programme\Microsoft Visual Studio 8\VC\atlmfc\include\afx.h 24

kriege die immer, wenn ihc die Runtime Libary auf "Multi-threaded Debug DLL (/MDd)" umstelle.

Ich könnte das jetzt mit fopen usw. machen, will aber endlich wissen, warum es nicht funktioniert?
Und warum funktioniert das in allen anderen Projekten, aber hier nicht? Was soll ich noch machen?

Bitte Hilfe!

Lukas

PS: Das Umstellen auf die "Static Library" habe ich auch shcon ausprobiert.
 
Hi,

Hast du vor, ein reines .NET-Projekt zu erstellen?
Wenn ja, dann muss ich dir schon mal sagen, dass es unter .NET die Klasse CString nicht mehr gibt.
Man kann zwar Managed und Unmanaged Code mischen, dass sollte aber nur in bestimmten Fällen getan werden. (z.B. beim Einbinden von Libs in .NET).
Die ganzen Fehler rühren höchstwahrscheinlich daher, da du versuchst MFC-Klassen in .NET zu nutzen.
 
Hallo,

danke für die Antwort, habe ja Jahrelang mit der 6.0 gearbeitet, ist mein erstes Projekt in .Net.

Das hieße, ich müsste dort jetzt so einiges umstellen. Ja gut, müsste wohl ein NET-Lehrgang machen .

Danke für die Antwort, werde wohl eine Alternativlösung nehmen müssen.

Gruß

Lukas
 

Neue Beiträge

Zurück