|
You last visited: Today at 03:41
Advertisement
Visual Studio 2012 - Target Platform
Discussion on Visual Studio 2012 - Target Platform within the C/C++ forum part of the Coders Den category.
09/25/2012, 19:56
|
#1
|
elite*gold: 0
Join Date: Oct 2011
Posts: 814
Received Thanks: 675
|
Visual Studio 2012 - Target Platform
Hi Leute,
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.
|
|
|
09/25/2012, 20:52
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
|
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.
|
|
|
09/25/2012, 21:02
|
#3
|
elite*gold: 5
Join Date: Sep 2006
Posts: 385
Received Thanks: 218
|
x86 entspricht der Win32 Konfiguration. Die damit erstellen PEs laufen dann auch dank WOW64 auf 64 Bit Betriebssystemen.
|
|
|
09/25/2012, 21:11
|
#4
|
elite*gold: 0
Join Date: Oct 2011
Posts: 814
Received Thanks: 675
|
Quote:
Originally Posted by Ende!
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.
|
|
|
09/25/2012, 21:34
|
#5
|
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
|
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?
Projektkonfiguration -> Konfigurationseigenschaften -> Linker -> Erweitert -> Zielcomputer
Überprüfe den Wert mal bitte.
|
|
|
09/26/2012, 13:55
|
#6
|
elite*gold: 0
Join Date: Oct 2011
Posts: 814
Received Thanks: 675
|
Quote:
Originally Posted by Ende!
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?
Projektkonfiguration -> Konfigurationseigenschaften -> Linker -> Erweitert -> Zielcomputer
Überprüfe den Wert mal bitte.
|
Ah, super.
Der Zielcomputer stand dort unter x64 habe diesen nun auf x86 geändert und nun funktioniert alles wie ich es wollte.
Ich danke dir.
|
|
|
Similar Threads
|
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!
|
All times are GMT +1. The time now is 03:41.
|
|