IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Code::Blocks Discussion :

[Code::Blocks][Visual studio Express 2013] Configurer Code::Blocks pour utiliser MSVC


Sujet :

Code::Blocks

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chômage
    Inscrit en
    Juin 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Juin 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [Code::Blocks][Visual studio Express 2013] Configurer Code::Blocks pour utiliser MSVC
    Bonjour,

    J'utilise Code::Blocks 13.12 et je souhaite le configurer de manière propre pour pouvoir utiliser les compilateurs de Visual Studio Express 2013. En effets, il ya 2 compilateurs, un pour produire un exe 32 bit et un pour produire un exe 64 bit.

    Dans un premier temps, Dans le menu "setting>Compiler...", J'ai essayé de copier la config "Microsoft visual C++ 2010" et de la modifier. J'ai parcouru tout les onglets et j'ai remplacé tout les "Microsoft Visual Studio 10.0" par "Microsoft Visual Studio 12.0". J'ai testé un projet "hello_world", la compilation se lance mais j'obtiens l'erreur "impossible d'ouvrir le fichier uuid.lib"

    Dans un deuxième temps j'ai regardé du coté des invites de commande fourni pour la compilation. J'ai récupéré toutes les variables d'environnement qui sont initialisé spécifiquement dans cet invite de commande. Je les ai toute recopié dans l'onglet "custom variable"; Dans l'onglet "toolchain executable" j'ai aussi mis dans "additional path" les chemin qui avais été ajouté à la variable %path%... Ben ca marche pas j'ai toujours l'erreur "impossible d'ouvrir le fichier uuid.lib"

    J'ai finalement trouvé une solution qui marche mais qui n'est vraiment pas pratique (et qui donc ne me convient pas). Cela consiste à aller dans "environments settings>environments variable" et a créer des set de variables d’environnement. j'ai donc crée un set pour la compilation 32bits et un set pour la compilation 64bits. Là où ça n'est pas pratique, c'est que je doit retourner dans ce menu dès que je veut changer de compilateur.

    Donc qui a une meilleur solution a proposer ?

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    Peut-être créer deux projets, l'un en 32 bits, l'autre en 64.

    Sinon, je crois me souvenir qu'il y a la possibilité de définir des cibles de compilation.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chômage
    Inscrit en
    Juin 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Juin 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Solution
    Citation Envoyé par leternel
    Peut-être créer deux projets, l'un en 32 bits, l'autre en 64.

    Sinon, je crois me souvenir qu'il y a la possibilité de définir des cibles de compilation.
    Mouais, j'avais pas du être assez claire, mon problème c'était comment configurer Code::Blocks pour que le compilateur de Visual Studio puisse fonctionner correctement. Pour en revenir à ta remarque, Oui, Code::Block permet de créer plusieur cible de compilation et permet de définir un compilateur différent pour chacune des cibles.

    Et j'ai finalement trouvé tout seul la solution.

    Solution :

    NOTE: je suppose que Microsoft visual studio est installé dans "C:\Program Files (x86)\Microsoft Visual Studio 12.0" (par défaut)

    Configuration du compilateur natif 32 bit :

    Allez dans "setting>compiler" puis "global compiler setting"
    Dans la liste déroulante du haut,sélectionnez "Microsoft Visual C++ 2010"
    Cliquez sur le bouton "Copy" et nommez votre compilateur ( moi j'ai choisi "Microsoft Visual C++ 2010 target 32bit" )
    Allez dans l'onglet "Toolchain executables"
    Dans le champ "Compiler's installation directory" mettez "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin"
    Allez dans l'onglet "Search directories"
    Dans l'onglet "compiler" ajoutez le répertoire "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"
    Dans l'onglet "linker" :
    Ajoutez le répertoire "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib"
    Ajoutez le répertoire "C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86"(c'est ca qui me manquait !)
    Dans l'onglet "resource compiler" ajoutez le répertoire "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include"

    Et maintenant vous êtes normalement capable de créer des applications 32 bit

    Configuration du compilateur croisé (hôte 32 bit, cible 64 bit) :

    Pour ne pas se faire chier, on va le créer à partir du compilateur 32bits
    Allez dans "setting>compiler" puis "global compiler setting"
    Dans la liste déroulante du haut,sélectionnez le compilateur 32 bit que vous venez de créer
    Cliquez sur le bouton "Copy" et renommez votre compilateur ( pour etre logique, j'ai choisi "Microsoft Visual C++ 2010 target 64bit" )
    Allez dans l'onglet "Toolchain executables"
    Dans le champ "Compiler's installation directory" mettez "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"
    Allez dans l'onglet "Search directories"
    Dans l'onglet "linker" :
    effacer tout les repertoires présent (bouton "clear")
    Ajoutez le répertoire "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB\amd64"(j'avais pas bon ici)
    Ajoutez le répertoire "C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64"(c'est ca qui me manquait !)

    Et maintenant vous êtes normalement capable de créer des applications 64 bit

    Quelques explication :
    Les invites de commande fourni par visual studio définissent on modifient des variables d’environnement
    pour pouvoir utiliser le compilateur correspondant, les plus importante sont INCLUDE, LIB, LIBPATH, et PATH

    Note: Si vous regardez le contenu de ces variables, vous verrez qu'elle contiennent beaucoup plus de chemin que j'en ai utilisé pour configurer Code::Block. bien que ces chemins soientt inutile pour la plupart des projets C et C++ vous en aurez peut etre besoin si vous utiliser des fonction avancé tel que le framework .NET

    INCLUDE : permet déclarer des répertoires supplémentaire ou seront cherché des fichier source lors de la compilation (cl). Pour chaque répertoire défini dans INCLUDE, on peut utiliser l'option /I à la place (l’équivalent GCC est -I je crois). Dans code::blocks c'est l’onglet "search directories" puis l'onglet "compiler"

    LIB et LIBPATH :permet déclarer des répertoires où se trouvent les librairie lors de l’édition de lien (link). Pour chaque répertoire défini dans ces 2 variables, on peut utiliser l'option /LIBPATH à la place (l’équivalent GCC est -L je crois). Dans code::blocks c'est l’onglet "search directories" puis l'onglet "linker".

    PATH : cette variable d'environnement sert à ajouter des commandes dans l'invite de commande. Les invites de commande fourni par visual studio ajoute notamment le chemin vers les commande cl,link,rc,nmake ... [edit] dans code::block c'est l'onglet "toolchain executable". si il faut chercher les exécutables dans plusieurs répertoire différent,vous pouvez ajouter des chemins dans l'onglet "additional paths"

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 195
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 195
    Points : 17 162
    Points
    17 162
    Par défaut
    Merci pour ta solution. Je la garde dans un coin, ça pourrait servir.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chômage
    Inscrit en
    Juin 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Juin 2014
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Mise à jour solution
    je re parce que j'ai découvert qu'il manque un petit truc à ma solution, il faut ajouter un chemin pour pouvoir utiliser le compilateur de ressource (rc.exe):

    Dans l'onglet "Toolchain executables" trouvez l'onglet "Additionnal Paths" et mettre le chemin :

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x86" pour le compilateur natif 32 bit,
    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64" compilateur croisé (hôte 32 bit, cible 64 bit)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Mode designer Visual Studio Express 2013 pour le Web
    Par Clockmaker dans le forum Développement Web avec .NET
    Réponses: 5
    Dernier message: 06/06/2017, 16h20
  2. Crash aléatoire de Visual Studio Express 2013
    Par Landflyer dans le forum Langages
    Réponses: 5
    Dernier message: 11/03/2015, 16h02
  3. Comment faire des animations sous visual studio express 2013 ?
    Par Anonyme5571 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/11/2014, 08h29
  4. Réponses: 0
    Dernier message: 28/10/2014, 11h30
  5. Réponses: 9
    Dernier message: 09/07/2014, 13h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo