Compilateur de Visual Studio 2008 pour Cmake [Résolu]

Wiiist 11 Messages postés lundi 7 juillet 2014Date d'inscription 15 juillet 2014 Dernière intervention - 10 juil. 2014 à 14:18 - Dernière réponse : cptpingu 3807 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

cptpingu 3807 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention - Modifié par cptpingu le 10/07/2014 à 15:16
0
Merci
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
Commenter la réponse de cptpingu
Wiiist 11 Messages postés lundi 7 juillet 2014Date d'inscription 15 juillet 2014 Dernière intervention - Modifié par cptpingu le 10/07/2014 à 16:01
0
Merci
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.
Commenter la réponse de Wiiist
cptpingu 3807 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention - 10 juil. 2014 à 16:03
0
Merci
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
Commenter la réponse de cptpingu
Wiiist 11 Messages postés lundi 7 juillet 2014Date d'inscription 15 juillet 2014 Dernière intervention - Modifié par cptpingu le 10/07/2014 à 16:26
0
Merci
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...
Commenter la réponse de Wiiist
cptpingu 3807 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention - Modifié par cptpingu le 10/07/2014 à 16:32
0
Merci
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
Commenter la réponse de cptpingu
Wiiist 11 Messages postés lundi 7 juillet 2014Date d'inscription 15 juillet 2014 Dernière intervention - Modifié par cptpingu le 10/07/2014 à 16:39
0
Merci
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 ...
Commenter la réponse de Wiiist
Wiiist 11 Messages postés lundi 7 juillet 2014Date d'inscription 15 juillet 2014 Dernière intervention - Modifié par cptpingu le 15/07/2014 à 15:42
0
Merci
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
Commenter la réponse de Wiiist
cptpingu 3807 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 21 septembre 2018 Dernière intervention - 15 juil. 2014 à 11:12
0
Merci
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
Commenter la réponse de cptpingu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.