Cum sa instalezi o biblioteca in Code::Blocks. Tutorial.

Cum sa instalezi o biblioteca in Code::Blocks. Tutorial.

Postby Cosmin_NTG » 25 Dec 2011, 21:14

Acest topic este destinat tuturor celor ce vor sa experimenteze noi orizonturi in magnificul limbaj de programare C++. Recent am invatat si eu cum sa instalez o biblioteca in Code::Blocks. A fost o experienta destul de anevoioasa si enervanta, de aceea am creat acest tutorial: pentru ca altii sa nu piarda vremea cu incercarea (lipsita de succes, in absenta unei documentari in prealabil) de a seta tot ce trebuie pentru a putea utiliza functiile de care dispune acea biblioteca. Sunt constient de caracterul particular al acestui tutorial insa consider ca IDE-ul Code::Blocks este utilizat destul de intens in programare insa voi incerca sa generalizez cat pot de mult si cat imi este permis, bineinteles.
Let's start:

O prima faza consta in verificarea tuturor componentelor necesare unei biblioteci adica fisiere cu extensia .dll (dynamic link library) + fisiere cu extensia .a si fisiere cu extensia .h adica fisiere antet pe care le vom include in programele noastre. Aceste componente sunt indispensabile oricarei biblioteci pentru ca, practic, de ele depinde intreaga functionalitate a programelor. Fac aceasta precizare pentru ca am descarcat de pe net si "biblioteci" in care lipseau fisiere. Pe langa aceste componente indispensabile, mai pot exista si alte fisiere ce caracterizeaza in mod direct biblioteca, adica fisiere specifice bibliotecii respective; programe si surse care exemplifica diferite utilizari ale caracteristicilor bibliotecii, s.a.m.d. De obicei, fisierele indispensabile oricarei biblioteci (cele cu extensia .dll si cele cu extensia .h) se gasesc in foldere bine departajate (nu sunt amestecate prin alte foldere).

In imaginea de mai jos se observa componentele unei biblioteci (pentru exemplificare, biblioteca de mai jos este SFML).

Image

Acum ca ne-am asigurat de prezenta fisierelor necesare, putem efectiv sa instalam biblioteca.
Sunt 2 modalitati de realizare a acestui lucru: 1 - copiem fisierele cu extensia .a din biblioteca in folderul lib din Code::Blocks (acest folder ar trebui sa fie in C:\Program Files\CodeBlocks\MinGW\lib, desigur cu modificarile de rigoare in privinta directorului in care este instalat IDE-ul); copiem fisierele cu extensia .h din biblioteca in folderul "include" in Code::Blocks (acest folder ar trebui sa fie in C:\Program Files\CodeBlocks\MinGW\include, cu mentiunea de mai sus).
2 - Stabilim biblioteca intr-o partitie (de exemplu in C:\) si setam IDE-ul in vederea localizarii fisierelor necesare utilizarii functiilor de care dispune biblioteca.

Prima varianta este destul de accesibila dar, in cazul meu cel putin, nu a inregistrat randament.
Vom analiza varianta a 2-a care este sigura.

Cum am mentionat in prezentarea metodei a 2-a, stabilim biblioteca in partitia C:\ (poate fi in oricare alta partitie sau in oricare alt director insa am ales acest lucru pentru simplitate).

Incepem setarea IDE-ului: Deschidem un nou proiect de tip Console Application si executam urmatoarele comenzi:

Settings - > Compiler and Debugger, dupa cum se observa in imagine:

Image

Selectati eticheta "Search directories" dupa care selectati eticheta "Compiler". In aceeasi fereastra, mai jos este un buton "Add" pe care il tastati si introduceti numele de cale (path-ul) al fisierelor antet ale bibliotecii. Prin generalizare, acesta ar fi: (nume_partitie):\(nume_biblioteca)\include (fara paranteze).

In imaginea de mai jos, este introdusa numele de cale al fisierelor antet ale bibliotecii SFML (pentru exemplificare, repet).
Image

Acum selectati eticheta "Linker" unde introduceti numele de cale al fisierelor cu extensia .dll sau .a care, de regula se afla in directorul cu numele "lib" al oricarei biblioteci.

Image

Acum mergeti la Project - > Build options:
Image

In eticheta "Linker settings" introduceti (Add) numele fisierelor cu extensia .dll care va sunt necesare.

Acest lucru trebuie realizat de fiecare data cand creati un nou proiect si depinde de fiecare biblioteca.
De exemplu, cand utilizez biblioteca SFML, in panoul de mai sus se introduce "sfml-audio" daca vreau sa lucrez cu fisiere audio s.a.m.d. Nu uitati ca ceea ce scriem in acest panou este numele unui fisier cu extensia .dll care trebuie plasat in folderul unde se afla fisierul executabil (adica in folderul Debug).

Nota: Dupa realizarea acestor setari, functiile bibliotecii respective ar trebui sa functioneze la parametrii normali. Daca nu apar erori la compilare inseamna ca se pot utiliza functiile acelei biblioteci. Daca apar erori la executare, in care spune ca lipseste un fisier cu extensia .dll, cautati acel fisier in folderul unde se afla biblioteca (in folderul "lib"). Daca nu il gasiti, cautati-l cu Search: Start - > Search. Dupa ce aveti acel fisier, plasati-l in folderul unde se afla fisierul executabil al programului (de regula in folderul in care se afla proiectul - > Debug)

Sper ca acest tutorial sa ajute pe cineva. Multumesc pentru atentie.
0,0p / 0 votes
Thinking about solutions is better than thinking about problems
User avatar
Cosmin_NTG
Byte
 
Joined: 11 Jan 2011
Location: 192.2L1.44G
Status: 10

Return to Tutoriale C++

Who is online

Users browsing this forum: No registered users and 0 guests

cron