Compilateur de Visual Studio 2008 pour Cmake

Résolu
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014 - Modifié par cptpingu le 10/07/2014 à 19:41
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 15 juil. 2014 à 11:12
Bonjour à tous,

J'ai besoin de compiler la bibliothèque boost1.39.0 ( http://sourceforge.net/projects/boost/files/boost/1.39.0/ ) qui n'a pas d'installeur, afin de faire fonctionner un projet développé sur Visual Studio 2008. J'ai différents problèmes.

Cmake n'arrive pas à trouver le compilateur qu'utilise visual studio pour générer les projets, ce qui me donne les erreurs suivantes:
"-- Building for: Visual Studio 9 2008
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown

CMake Error at CMakeLists.txt: 28 (project):
No CMAKE_C_COMPILER could be found.
No CMAKE_CXX_COMPILER could be found.
"
Je n'arrive pas à savoir comment lui spécifier où se trouve les compilateurs, parce qu'ils sont pourtant bien existants.

J'utilise boost 1.39.0, avec un cmake 3.0.0.

Cordialement

8 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié par cptpingu le 10/07/2014 à 15:16
Bonjour.

Est-ce que tu as essayé de spécifier les chemins vers les compilateurs "à la main", en faisant un "ccmake ." ?
(Je n'ai pas testé, c'est juste une piste. À noter que ccmake est pour les systèmes Unix, sous Windows, il me semble que l'équivalent serait: CMakeSetup ou cmake-gui.exe).

__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
Modifié par cptpingu le 10/07/2014 à 16:01
Bonjour cptpingu,

J'ai en effet essayé cette solution à travers différents tests.

Lancer cmd aller dans le répertoire de boost, lancer la commande "cmake ." sans succès. Après cela j'ai testé sur un autre ordinateur avec les mêmes versions de bibliothèques / ide / cmake, et après avoir rajouter "-DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW". Il semble que la bibliothèque se soit compilée avec succès, mais n'étant pas sur mon ordinateur je n'ai pu aller plus loin dans la recherche. De retour sur mon ordinateur, j'ai enfin essayé "-DCMAKE_IS_EXPERIMENTAL=YES_I_KNOW -G "Visual Studio 9 2008" avec la version pour 32 et 64 bits, les deux sans succès. J'en viens à me demander ce qui peut empecher cmake de trouver le compilateur de visual studio uniquement sur mon ordinateur ( la compilation ayant fonctionné sur l'autre pc avec les mêmes outils / environnement).

PS: Tu parles de "cmake ." ou "ccmake ." car je ne trouves pas ccmake dans mon environnement windows.
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
10 juil. 2014 à 16:03
Je parle bien de "ccmake" (pour configure cmake) et non de "cmake". Je ne suis pas sur de sa présence sous Windows, raison pour laquelle je t'ai donné des équivalents (CMakeSetup ou cmake-gui.exe).
Le but étant de voir et configurer ton projet, pour indiquer manuellement si nécessaire, le chemin absolu vers le compilateur.
(Au pire, tu peux toujours éditer les fichiers à la main, mais c'est plus compliqué).

__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
Modifié par cptpingu le 10/07/2014 à 16:26
Ah d'accord au temps pour moi. J'avais mal compris. J'ai déjà essayé d'utiliser le GUI mais je le trouve vraiment pas pratique à utiliser et je préfère le mode manuel. Je le trouve plus simple. Quand je passe en ligne de commande, il me gènere un CmakeCache pour la configuration qui n'est pas généré en passant par le GUI. En regardant dans ce fichier je trouve un cmake_linker qui pointe sur le link.exe de mon visual studio mais il n'est nul part fait référence au cl.exe, qui, il me semble, correspond au compilateur de visual studio. J'en déduis que c'est pour cela que le cmake ne marche pas. N'ayant pas l'attribut à rajouter pour spécifier le compilateur choisi, je suis dans l'impasse...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié par cptpingu le 10/07/2014 à 16:32
Ne connaissant pas les spécificités qu'a ce projet sous Windows, je vais te donner les infos sous Unix, en espérant que ce soit les mêmes sur les deux OS.

Généralement, le compilateur est spécifié dans un fichier généré par cmake: config.mk.
Voici une partie de celui-ci sur l'un des mes projets:

$ cat config.mk
[...]
CC=/usr/bin/gcc
CXX=/usr/bin/g++
LD=/usr/bin/gold
[...]

__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
Modifié par cptpingu le 10/07/2014 à 16:39
Merci de ton aide malheureusement le fichier dont tu parles est nommé CmakeCache.txt sous Windows et la syntaxe n'est pas la même. Je cherche une solution en n'utilisant pas cmake, pour l'instant sans beaucoup de résultat. Un script .bat est inclut dans le dossier générant un exécutable qui parait faire la meme chose qu'un cmake sous Unix, à suivre ...
0
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
Modifié par cptpingu le 15/07/2014 à 15:42
Bonjour tout le monde,

J'ai trouvé une solution à mon problème en n'utilisant pas de Cmake. Ça pourra peut être servir à quelqu'un.

Lancer le bootstrap.bat qui est à la racine du dossier boost. Laisser le script se terminer, il devrait dire qu'il manque certains fichiers, à la suite de quoi il va vous générer un bjam.exe
Lancez-le avec les options suivantes : toolset=msvc-9.0 --build-type=complete address-model=64 stage

PS: msvc-9.0 => Visual studio 2008, remplacer si besoin par votre version de vs
address-model=64 pour un système d'exploitation 64 bits, faites attention au fait que si votre application est en 32 vous devriez compiler également boost en 32.

Prenez une pause, la compilation est longue.

Vous devriez trouver toutes les bibliothèques compilées une fois le script fini dans le dossier stage à la racine du dossier boost.

En espérant que cela pourra aider quelqu'un,

Cordialement
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
15 juil. 2014 à 11:12
Merci pour ton retour !

__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
Rejoignez-nous