web-dev-qa-db-fra.com

Comment puis-je créer un lien vers une bibliothèque avec Code :: Blocks?

Tutoriel C++ GUI: référence indéfinie à TextOut

J'ai le même problème, mais je suis nouveau dans la programmation et Code :: Blocks et je veux utiliser la bibliothèque GDI32. Comment puis-je l'installer? Je suis très confus car je peux utiliser l'en-tête windows.h, mais certaines fonctions telles que TextOut ne sont pas disponibles.

18
optimusfrenk

La bibliothèque gdi32 est déjà installée sur votre ordinateur, peu de programmes fonctionneront sans elle. Votre compilateur (s'il est correctement installé) vient normalement avec une bibliothèque d'importation, qui est utilisée par l'éditeur de liens pour créer une liaison entre votre programme et le fichier présent dans le système. (Dans le cas peu probable où votre compilateur ne viendrait pas avec des bibliothèques d'importation pour les bibliothèques système, vous devrez télécharger le Kit de développement logiciel (SDK) de la plate-forme Microsoft Windows.)

Pour créer un lien avec gdi32:

enter image description here

Cela fonctionnera de manière fiable avec MinGW-gcc pour toutes les bibliothèques système (devrait fonctionner si vous utilisez également un autre compilateur, mais je ne peux pas parler de choses que je n'ai pas essayées). Vous pouvez également écrire le nom complet de la bibliothèque, mais écrire libgdi32.a ne présente aucun avantage par rapport à gdi32, à part le fait qu'il soit plus typé.
Si not ne fonctionne pas pour une raison quelconque, vous devrez peut-être attribuer un nom différent (par exemple, la bibliothèque s'appelle gdi32.lib pour MSVC).

Pour les bibliothèques situées dans des emplacements impairs ou des sous-dossiers de projet, vous devez fournir un nom de chemin approprié (cliquez sur le bouton "..." pour accéder à une boîte de dialogue de sélection de fichier).

44
Damon

Vous avez sans doute utilisé Code :: Blocks pour créer un projet Application console . Un tel projet ne crée pas de lien dans le GDI, car les applications de console ne sont généralement pas conçues pour créer des graphiques et que TextOut est une fonction graphique. Si vous souhaitez utiliser les fonctionnalités du GDI, vous devez créer un Win32 Gui Project , qui sera configuré pour créer un lien dans le GDI pour vous.

0