Ho recentemente eseguito l'aggiornamento da Visual Studio Express 2010 a Visual Studio 2012 Express per Windows Desktop. Sono a conoscenza della precedente mancanza di compatibilità con Windows XP, ma pensavo che ciò fosse risolto dall'aggiornamento 1 (che ho installato).Microsoft Visual Studio 2012 Express per desktop di Windows - Targeting per Windows XP
Tuttavia, sto ancora avendo difficoltà a indirizzare Win XP con le applicazioni C++ che ho compilato utilizzando 2012 Express. Ho impostato il set di strumenti della piattaforma su "Visual Studio 2012 - Windows XP (v110_xp)" ma questo non fa alcuna differenza. Quando provo a eseguire la mia applicazione compilata sul mio sistema Windows XP (eseguo Windows XP tramite VirtualBox), ricevo l'errore che la mia applicazione "non è un'applicazione Win32 valida".
Ho anche provato a impostare il supporto CLR su "Nessun supporto di runtime in linguaggio comune" e la libreria di runtime su "Multithreading (/ MT)".
Anche con un progetto molto semplice vuoto C++ utilizzando il seguente codice, non riesco proprio a farlo funzionare su XP:
#define _WIN32_WINNT 0x0501
#define WINVER 0x0501
#define NTDDI_VERSION 0x0501
#include <iostream>
int main()
{
std::cout << "TEST" << std::endl;
std::cout << std::endl << std::endl << "Press ENTER to close this window.";
std::cin.get();
return 0;
}
Qualcuno può dirmi dove sto andando male con il mio compilatore/impostazioni del progetto?
P.s Ho installato i pacchetti ridistribuibili MS VC++ 2010 e 2012 sulla mia macchina virtuale XP. Le applicazioni che ho compilato con Visual Studio Express 2010 funzionano correttamente sulla mia macchina virtuale XP.
Controlla la tua piattaforma di destinazione in Build -> Configuration Manager. – shf301
È possibile eseguire programmi compilati con VC 10 toolchain su XP. Questo è essenzialmente lo stesso della compilazione con VS 2010, ma non hai detto che hai bisogno di VC 11 toolchain nella domanda. –
@ shf301 - La piattaforma di destinazione è Win32. – Colin