2013-11-26 11 views
6

Attualmente sto sviluppando un frontend Python 2.7 utilizzando SWIG per un progetto C++ configurato da CMAKE (non sviluppato da me stesso, ho appena avviato CMAKE per questo progetto). Il progetto si compila (e gira) bene sotto VS2010 usando FIND_PACKAGE per python e swig. Tuttavia, python 2.7 (e altre versioni) è compilato usando il compilatore VS2008, che non è compatibile con il VS2010. Ho installato il compilatore di Windows SDK 7 e posso compilare un altro progetto SWIG (senza CMAKE) usando distutils. Cercando di configurare il progetto vero e proprio con CMAKE per Visual Studio 2008, viene a mancare con:Come utilizzare CMAKE per il compilatore Windows-SDK, quando VS2010 è installato?

xxx> cmake . -G "Visual Studio 9 2008" 
CMake Error: CMake was unable to find a build program corresponding to "Visual Studio 9 2008". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.   
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake              
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCCompiler.cmake  

(ho sostituito il mio percorso effettivo con xxx)

Questo accade sia nella shell di Windows-SDK, così come in un guscio normale.

Qualcuno ha configurato correttamente un progetto CMAKE per il compilatore di Windows SDK 7, quando è installata un'altra versione VS? Se sì, come? Infine, preferirei usare una configurazione di python distutils configurata da CMAKE, piuttosto che costruire il progetto usando un file .sln generato. Quindi, la creazione di un .sln/.prj VS2008 non è importante.

risposta

4

Vorrei solo aprire il prompt dei comandi di SDK, quindi il cl.exe che si desidera (nella directory di installazione di VS 2008) si trova in PERCORSO (è possibile controllare questo è il caso con where cl).

Poi basta eseguire CMake e lasciarlo generare makefile NMAKE:

mkdir build && cd build 
cmake .. -G "NMake Makefiles" 

Questo dovrebbe garantire il compilatore di scelta viene utilizzato.

Se anche questo non funziona, l'SDK (o VS) dovrebbe venire con uno strumento per rendere una determinata versione SDK "corrente".

+1

È inoltre possibile utilizzare l'interfaccia della GUI di CMake. Ti permette di selezionare l'ambiente di costruzione quando tenti di configurare. – linello

+0

E puoi utilizzare il generatore "Visual Studio 2010" e utilizzare msbuild sulla riga di comando. –

+0

@linello Non sapevo che CMake avesse un'interfaccia grafica utente ';-)'. – rubenvb

Problemi correlati