nach ganzen 2 Jahren bin ich nun von Embarcadero C++ Builder auf Visual Studio 2012 umgestiegen, allerdings gibt es dort ein kleines Problem.
Ich kann mein Code nur in x64 compilieren und habe auch keine möglichkeiten auf x86 zu compilen.
Wenn ich unter dem Konfigurations Manager gehe und eine neue Zielplattform angeben will habe ich nur die Auswahl zwischen ARM, Win32 und x64.
Nun hätte ich gerne die möglichkeit eine .exe zu erstellen die auf beiden Architekturen läuft und habe im Internet etwas recherchiert.
Dabei stieß ich auf die Zielplattform "Anycpu" leider ist diese wie schon erwähnt nirgendswo zu finden.
Nun komme ich langsam ins grubeln und hoffe auf eure hilfe, ich bedanke mich schonmal im vorraus.
AFAIK repräsentiert die AnyCPU-"Architektur" den .NET-Bytecode und ist entsprechend auch nur für .NET-Ziele verfügbar. Es gibt zwar ein .NET C++ (C++/CLI), allerdings rate ich von dessen Nutzung stark ab, da dort so ziemlich alle Vorteile von C++ gegenüber Sprachen wie C# verloren gehen.
Weiterführende Informationen:
Edit:
In der Standard-Konfiguration erstellt VC++ x86er Binarys, welche auch auf x64er Systemen laufen.
AFAIK repräsentiert die AnyCPU-"Architektur" den .NET-Bytecode und ist entsprechend auch nur für .NET-Ziele verfügbar. Es gibt zwar ein .NET C++ (C++/CLI), allerdings rate ich von dessen Nutzung stark ab, da dort so ziemlich alle Vorteile von C++ gegenüber Sprachen wie C# verloren gehen.
Weiterführende Informationen:
Edit:
In der Standard-Konfiguration erstellt VC++ x86er Binarys, welche auch auf x64er Systemen laufen.
Danke für den Artikel, kein wunder das ich "Anycpu" nicht finden konnte.
Auf x64 klappt ja auch alles einwandfrei, nur auf 32 Bit Systemen kommt die berüchtigte Meldung "Dies ist keine zuverlässige Win32 anwendung..."
Quote:
Originally Posted by Nightblizard
x86 entspricht der Win32 Konfiguration. Die damit erstellen PEs laufen dann auch dank WOW64 auf 64 Bit Betriebssystemen.
Leider wie schon erwähnt, kommt auf 32 Bit Systemen dann die Meldung, dass die Anwendung nicht gestartet werden konnte.
Ich selber habe 64 Bit wo alles sauber läuft.
Ich habe eben, um dein Problem nachvollziehen zu können, mal mit VS12 (ich selbst arbeite auch damit, verwende aber aus Gründen der Kompatibilität momentan noch den VC++10 Compiler) ein neues "Win32-Konsolenanwendungs"-Projekt erstellt und dieses dann per F7 erstellt. Das generierte Executable verwendet definitiv die x86er Architektur. Sicher, dass du nicht irgendwas in deiner Projektkonfiguration verändert hast?
Ich habe eben, um dein Problem nachvollziehen zu können, mal mit VS12 (ich selbst arbeite auch damit, verwende aber aus Gründen der Kompatibilität momentan noch den VC++10 Compiler) ein neues "Win32-Konsolenanwendungs"-Projekt erstellt und dieses dann per F7 erstellt. Das generierte Executable verwendet definitiv die x86er Architektur. Sicher, dass du nicht irgendwas in deiner Projektkonfiguration verändert hast?
Visual Studio 2012: automatisches einbinden von Headerdateien? 08/10/2012 - C/C++ - 8 Replies Mir ist aufgefallen, dass ich, ohne bestimmte Headerdateien einzubinden, manchmal trotzdem Objekte und Funktionen nutzen kann wie z.B. cout aus iostream oder exit() bzw. abort() aus cstdlib/stdlib.h.
Kann's vielleicht sein, dass VS 2012 die automatisch lädt?
habe ein normales WIN32 Konsolenprojekt ohne Headerdateien und sonstiges erstellt. Und was hat es mit dem Ordner "Externe Abhängigkeiten" auf sich? dort sammeln sich verschiedene Dateien und darunter auch cstdlib und iostream.
Visual Studio 12/08/2009 - .NET Languages - 7 Replies Moin, wollte ma fragen, welche Version ihr vom Vusial Studio benutzt ;D
ich benutze momentan 2008.
Steige wahrscheinlich bald auf 2010 um, aber das gibts ja leider noch nicht auf Deutsch *g*
MS Visual Studio. 11/18/2005 - Main - 0 Replies http://forums.microsoft.com/MSDN/ShowPost....12660 6&SiteID=1
:rolleyes: love it!