| auteur : Nicolas Joseph |
La philosophie de Code::Blocks est de pouvoir utiliser n'importe quel compilateur sur Terre ! Enfin, presque.
En effet cela dépend en grande partie du plugin compilateur utilisé. Celui fourni par défaut à l'installation de Code::Blocks, supporte GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom et Small Device C Compiler (SDCC).
|
| auteur : Nicolas Joseph |
Un petit problème de documentation. Le compilateur par défaut est habituellement GCC, ainsi lorsque vous l'importez avec le compilateur par défaut, vous lui avez dit d'utiliser GCC.
Pour résoudre ce problème, allez dans "Project", "Build Option" et sélectionnez VC++ Tollkit
comme compilateur.
Une autre possibilité est de mettre le compilateur de Microsoft comme compilateur par défaut.
Pour ce faire, choisissez Setting - Compiler, choisir le compilateur Microsoft dans la
section "Selected Compiler" (en haut de la boîte de dialogue) et appuyez sur le bouton
"Set as default".
From now onwards, pour tous les nouveaux projets le compilateur Microsoft sera choisi par défaut.
|
| auteur : Nicolas Joseph |
Oui, vous pouvez. Vous devez modifier deux options différentes :
- Dans "Compiler Settings", sous l'onglet "Other", il y a une option nommée "Build Method".
Choisissez "Work with makefiles".
- Dans les propriétés de votre projet, vous pouvez choisir d'utiliser un Makefile.
Cochez "This is a custom makefile" (Attention! Si vous oubliez de cocher cette case,
le makefile sera écrasé)
|
| auteur : Nicolas Joseph |
Cliquez sur "Project/Build options" et sélectionnez le compilateur
que vous voulez pour votre projet/cible.
|
| auteur : Nicolas Joseph |
Vous devez ajouter WXUSINGDLL dans "Project->Build options->Compiler
#defines" et reconstruire votre projet (ou créer un nouveau
projet et utiliser l'option "Using wxWidgets DLL" qui ajoute
"-DWXUSINGDLL" à Project->Build options->Other options).
D'autres erreurs avec la même résolution sont : 'unresolved
external symbol "char const * const wxEmptyString" (?wxEmptyString@@3PBDB)'
ou approchant. Si vous employez la 1.0-finalbeta et que vous essayez de construire
votre projet en liant statiquement wxWidget, la base du problème est quelques templates défectueux. Mais cela est corrigé maintenant.
|
| auteur : Nicolas Joseph |
Désolé, ce problème n'est pas résolu...
Votre problème ne vient pas de Code::Blocks. Il existe, parce que
VC toolkit gratuit (VCTK) ne fournit pas toutes les bibliothèques et
outils livrés avec Visual C++ (VC) qui n'est pas gratuit, malheureusement.
Essayez d'acheter un véritable VC++, ou mieux, téléchargez
MinGW
Les bibliothèques qui peuvent être obtenues gratuitement sont :
Chemins :
(VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib
(PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib
(NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
|
Les bibliothèques d'exécution C :
LIBC.LIB Single-threaded, static link (VCT3, NSDK)
LIBCMT.LIB Multithreaded, static link (VCT3, NSDK)
MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL) (NSDK)
LIBCD.LIB Single-threaded, static link (debug) (VCT3, NSDK)
LIBCMTD.LIB Multithreaded, static link (debug) (NSDK)
MSVCRTD.LIB Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)
|
Les bibliothèques C++ :
LIBCP.LIB Single-threaded, static link (VCT3, PSDK)
LIBCPMT.LIB Multithreaded, static link (VCT3)
MSVCPRT.LIB Multithreaded, dynamic link (import library for MSVCP71.dll) (none)
LIBCPD.LIB Single-threaded, static link (debug) (VCT3)
LIBCPMTD.LIB Multithreaded, static link (debug) (none)
MSVCPRTD.LIB Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)
|
Essayez de placer les répertoire de bibliothèque d'édition des liens à :
C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib
C:\Program Files\Microsoft Platform SDK\Lib
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
|
Dans cet ordre :
Les bibliothèques listées comme (none) ci-dessus sont actuellement présentes dans les sous-répertoires
IA64 et AMD64 du répertoire de la bibliothèque PSDK . Pas sûr que ceci fonctionne sous Windows
32 bits, cependant, cela pourra être possible si elles sont prévues pour travailler en mode compatible
32 bits sur un processeur 64 bits (à essayer). Autrement,
vous pouvez lier statiquement la bibliothèque C++ plutôt que d'utiliser MSVCP71.dll.
Si vous voulez réellement lier avec MSVCP71.dll vous pouvez essayer de créer MSVCP71.LIB à
partir de la DLL en utilisant lib.exe et sed. Recherchez sous google "exports.sed" pour plus
de détails.
|
lien : tclsh script to extract import .lib from (any?) DLL (MinGW)
lien : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp
lien : http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit
|
| auteurs : Nicolas Joseph, Philippe Dunski |
La réponse courte est que MSVCRT.DLL est un composant système protégé et que pour préserver l'intégrité du système,
il ne peut être mis à jour par aucun installateur de produit destiné aux utilisateurs finaux, mais peut être mis à jour
de temps en temps par les mises à jour système.
Si cela ne fonctionne pas, vous devrez utiliser une bibliothèque non protégée telle
que MSVCR70 ou MSVCR80 qui, non seulement peuvent être mises à jour, mais dont des versions privées peuvent être installées.
Un petit programme simple va sûrement fonctionner parfaitement avec MSVCRT.DLL.
Un programme complexe et important en C++ va vraissemblablement nécessiter les fonctionnalités additionnelles de MSVCR.
La MSVCRT.LIB fournie avec le Visual C++ Toolkit 2003 crée des liens dynamiques avec MSVCR71.DLL qui n'est pas présente sur
une installation toute fraîche de Windows XP.
MSVCR n'apparaîtra qu'après l'installation de certains logiciels qui en ont besoin tels que
Adobe Acrobat Reader.
Cela signifie qu'un programme qui dépend de MSVCR doit redistribuer cette DLL ou qu'il risque de ne pas fonctionner sur un pourcentage
élevé de systèmes pour des raisons qui ne seront évidentes ni pour l'utilisateur final ni pour le fournisseur du programme.
Pour les porjets qui peuvent utiliser MSVCRT de manière sécurisée et où il est impraticable de redistribuer MSVCR, une MSVRCRT.LIB
qui crée la liaison avec MSVCRT.DLL est disponible dans tous les Device Driver Kit.
Il est préférable de garder la MSVCRT.LIB fournie par le compilateur et de renommer la MSVCRT.LIB extraite d'un
DDK.
Ajoutez votre MSVCRTxx nouvellement nommée dans les bibliothèques requises et, pour éviter les problèmes,
il est conseillé d'ajouter les drapeaux /MD et /NODEFAULTLIB:MSVCRT de manière à ce que les problèmes apparaissent lors de
l'édition de lien plutôt que de manière aléatoire lors de l'exécution.
Assurez-vous de charger vos programmes dans le Dependancy Walker
pour être certain que les fonctions ne sont pas liées à la MSVCRxx.DLL ou à la MSVCRT.DLL.
Il est essentiel que malloc, calloc, realloc, free et autre fonctions d'allocation de mémoire soient toutes importées de la même DLL.
Si vous utilisez MSVCRT.LIB du DDK Windows 2003, vous pouvez rencontrer une erreur d'édition de lien error LNK2001: unresolved external symbol ___security_cookie.
Elle peut être résolue en passant à la MSVCRT.LIB qui se trouve dans le DDK de Windows XP ou en effectuant une lisaison avec bufferoverflowU.lib
que vous tourverez dans le SDK de windows.
|
| auteurs : Nicolas Joseph, Philippe Dunski |
Elles ne sont pas fournies. Les modèles sont fournis pour votre facilité, mais vous devez télécharger les bibliothèques vous-même. En d'autres termes "piles non fournies" :)
|
| auteur : Nicolas Joseph |
Vous pouvez les définir pour votre environnement global ou uniquement pour votre projet.
Pour l'environnement global :
- Menu Options/Compilateur et déboggeur
- Dans les options globales du compilateur, selectionner l'onglet "Dossiers"
- Ajouter les chemins nécessaires pour le compilateur et l'éditeur de liens
Pour vos projets :
- - Clic droit sur le projet puis sélectionner Build options
- - Sélectionner l'onglet "Dossiers"
- - Ajouter les chemins nécessaires pour le compilateur et l'éditeur de liens
- - Ajouter vos bibliothèques spécifiques dans l'onglet Linker
- - Prêter attention aux options du projet et aux options des cibles
|
Consultez les autres F.A.Q.
|
|