Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Building a Static Library | Libraries, Includes, and Build Types
Quizzes & Challenges
Quizzes
Challenges
/
Introduction to CMake

bookBuilding a Static Library

Note
Definition

A static library is a collection of compiled code that is copied directly into an executable at build time, making the program self-contained without requiring the library at runtime.

To create and use a static library in CMake, define it with add_library(... STATIC ...), then link it to your executable using target_link_libraries. Use target_include_directories to expose the library headers. CMake builds the library and links it automatically, allowing your program to use its functions.

main.c

main.c

src/hello.c

src/hello.c

src/hello.h

src/hello.h

CMakeLists.txt

CMakeLists.txt

copy
123456
#include "hello.h" int main() { say_hello(); return 0; }

When a static library is in another folder, include it with add_subdirectory, then link it using target_link_libraries. Use target_include_directories to expose the headers. This structure keeps projects organized and makes libraries easy to reuse.

app/main.c

app/main.c

libmath/math.c

libmath/math.c

libmath/math.h

libmath/math.h

CMakeLists.txt

CMakeLists.txt

libmath/CMakeLists.txt

libmath/CMakeLists.txt

copy
12345678
#include <stdio.h> #include "math.h" int main() { int result = add(3, 4); printf("3 + 4 = %d\n", result); return 0; }

A static library is a collection of object files bundled into a single archive. When linked, the library is copied directly into the executable, so no separate library file is needed at runtime. CMake handles this using add_library and target_link_libraries, resolving all dependencies during the build.

question mark

What command is used to link a static library to an executable in CMake?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

bookBuilding a Static Library

Desliza para mostrar el menú

Note
Definition

A static library is a collection of compiled code that is copied directly into an executable at build time, making the program self-contained without requiring the library at runtime.

To create and use a static library in CMake, define it with add_library(... STATIC ...), then link it to your executable using target_link_libraries. Use target_include_directories to expose the library headers. CMake builds the library and links it automatically, allowing your program to use its functions.

main.c

main.c

src/hello.c

src/hello.c

src/hello.h

src/hello.h

CMakeLists.txt

CMakeLists.txt

copy
123456
#include "hello.h" int main() { say_hello(); return 0; }

When a static library is in another folder, include it with add_subdirectory, then link it using target_link_libraries. Use target_include_directories to expose the headers. This structure keeps projects organized and makes libraries easy to reuse.

app/main.c

app/main.c

libmath/math.c

libmath/math.c

libmath/math.h

libmath/math.h

CMakeLists.txt

CMakeLists.txt

libmath/CMakeLists.txt

libmath/CMakeLists.txt

copy
12345678
#include <stdio.h> #include "math.h" int main() { int result = add(3, 4); printf("3 + 4 = %d\n", result); return 0; }

A static library is a collection of object files bundled into a single archive. When linked, the library is copied directly into the executable, so no separate library file is needed at runtime. CMake handles this using add_library and target_link_libraries, resolving all dependencies during the build.

question mark

What command is used to link a static library to an executable in CMake?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 1
some-alt