UTNianos

Versión completa: [Aporte] [Algoritmos] - Como crear librerias con Code::Blocks
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Como crear una libreria en codeblocks:

1. Crear la libreria

* archivo - nuevo - proyecto
* console application
* c++
* le ponen un titulo, "libreria" por ejemplo
* next, finish
* en el codigo fuente ponen las definiciones de las funciones (ver apendice, "libreria.cpp") y guardan (compilar no)
* crean un archivo de texto con el notepad que contenga los prototipos de las funciones y los structs si los hubiere (ver "header.txt")
* lo guardan (por ejemplo como "header.txt"), y lo copian en la misma carpeta que el codigo fuente de la libreria
* en el codigo fuente de la libreria junto con los otros 'include' ponen '#include "header.txt"'
* en el arbol de proyectos, a la izquierda, hacen clic derecho en el proyecto y seleccionan 'propiedades'
* van a la pestaña 'build targets' y donde dice 'type' seleccionan 'static library' y le mandan ok
* ahora compilan, 'Build' -> 'build', Ctrl+F9, o hacen clic en el engranaje amarillo

2. Crear el programa cliente que usa la libreria

* archivo - nuevo - proyecto
* console application
* c++
* le ponen un titulo, "cliente" por ejemplo
* next, finish
* copian el "header.txt" en la misma carpeta que el codigo fuente del programa cliente
* hacen el programa que usa las librerias (ver "main.cpp") y le agregan '#include "header.txt"' igual q con la libreria
* en el arbol de proyectos, a la izquierda, hacen clic derecho en el proyecto y seleccionan 'build options'
* van a la pestaña 'linker settings' y en el cuadro 'link libraries' hacen clic en 'add' y seleccionan el archivo 'librerias.a'
que deberia estar en "libreria/bin/debug/libreria.a", les pregunta 'keep ...' le ponen q si y le mandan ok, ok
* compilan y deberia funcionar


Apendice

libreria.cpp

Cita:#include <iostream>
#include "header.txt"

using namespace std;

int sumar(int a, int b)
{
return a+b;
}

void mostrar_hola ()
{
cout << "Hello world!" << endl;
}

header.txt

Cita:int sumar(int a, int b);
void mostrar_hola();

main.cpp

Cita:#include <iostream>
#include "header.txt"
using namespace std;

int main()
{
cout << sumar(2,3) << endl;
mostrar_hola();
return 0;
}
Buenos dias, soy estudiante de tecnicatura superior en programacion y queria saber si esto funciona tambien para C, ya que tengo que implementar librerias en con code::blocks y me tira un error "id returned 1 exit status", sigo sin poder solucionarlo y estuve buscando en muchos lugares, cuando trate de hacer lo que hiciste vos me muestra un error que no encuentra el archivo "heather.txt" asique lo debo estar pegando mal, si tenes idea porque puede ser genial.
Sí, funciona con C. Seguramente fue un error al escribir el mensaje, pero fijate que es "header.txt" (de todas las maneras, los archivos de encabezado deberían usar la extensión .h, por convención).

¿Pasás el código que tenés, así se puede revisar?
URLs de referencia