Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 03:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Visual Studio 2012 - Target Platform

Discussion on Visual Studio 2012 - Target Platform within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #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.
Trollface- is offline  
Old 09/25/2012, 20:52   #2


 
Ende!'s Avatar
 
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.
Ende! is offline  
Thanks
1 User
Old 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.
Nightblizard is offline  
Thanks
1 User
Old 09/25/2012, 21:11   #4
 
elite*gold: 0
Join Date: Oct 2011
Posts: 814
Received Thanks: 675
Quote:
Originally Posted by Ende! View Post
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 View Post
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.
Trollface- is offline  
Old 09/25/2012, 21:34   #5


 
Ende!'s Avatar
 
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.
Ende! is offline  
Thanks
1 User
Old 09/26/2012, 13:55   #6
 
elite*gold: 0
Join Date: Oct 2011
Posts: 814
Received Thanks: 675
Quote:
Originally Posted by Ende! View Post
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.
Trollface- is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.