
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"
Partager