Legarea bibliotecii math in cmake

De la WikiLabs
Versiunea din 1 februarie 2026 09:58, autor: Cbira (discuție | contribuții)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Jump to navigationJump to search

Dupa compilarea fiecarui modul c, urmeaza etapa de link-editare. Daca in timpul acelei etape linkerul nu gaseste o functie pe care o chemati, va afisa la consola o eroare de acest tip:

Scanning dependencies of target ClionExample
[ 50%] Building C object CMakeFiles/ClionExample.dir/main.c.o
[100%] Linking C executable ClionExample
CMakeFiles/ClionExample.dir/main.c.o: In function `main':
/home/student/CLionProjects/ClionExample/main.c:10: undefined reference to `sqrt'

Acesta eroare se intampla asa cum se observa, nu la compilare (la consola se afiseaza Linking C executable ... si apoi eroarea "undefined referece to" respectiva functie => la linkeditare apare eroarea. Motivul este: nu s-a inclus biblioteca math in procesul de linkeditare a executabilului. Pentru a o rezolva, trebuie indicat in reteta de build (fisierul CMakeLists.txt) adaugarea bibliotecii math.

target_link_libraries(PROIECTUL_MEU m)

Un exemplu de fisier CMakeLists.txt modificat se poate vedea mai jos:

LinkMathLibCmake.png