Autor
|
Tema: ¿Cómo instalar bibliotecas en codeblocks? (Leído 33,230 veces)
|
Ferno
Desconectado
Mensajes: 375
|
Siempre fue un poco rebuscado usar estas librerías. Si vas a compilar desde un IDE, prueba leer esto: http://wiki.allegro.cc/index.php?title=END_OF_MAINEl END_OF_MAIN creo que era necesario para salvar algunos problemas que surgían de que en Windows se utilice el WinMain. Puede que con eso se solucione, leete esa wiki que es corta y buscá ejemplos de como usar el END_OF_MAIN en un programa. Espero que se solucione, saludos!
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Muchas gracias por responder, Ferno. Sí, el END_OF_MAIN lo pongo en el programa. Lo que hago es esto: #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth(32); set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 700, 0, 0); BITMAP *buffer = create_bitmap(640, 700); clear_to_color(buffer, 0x333333); rect(buffer, 1, 1, 51, 51, 0x21D059); rect(buffer, 2, 2, 50, 50, 0x21D059); rect(buffer, 3, 3, 49, 49, 0x21D059); textout_centre_ex(buffer, font, ALLEGRO_VERSION_STR, 320, 5, 0xFFFFFF, 0x333333); rectfill(buffer, 50, 100, 550, 600, 0xDF1680); blit(buffer, screen, 0, 0, 0, 0, 640, 700); readkey(); destroy_bitmap(buffer); return 0; } END_OF_MAIN()
Por supuesto, antes de hacer el intento de compilar he seguido infinitos manuales en los que viene lo mismo (que meta tres carpetas (bin, lib e include en unos directorios que me indican) y los tres archivos .dll en la carpeta donde compilaré el proyecto y se creará el .exe, pero nada... El error que me da es: ld.exe||cannot find -lalld| ||=== Build finished: 1 errors, 0 warnings ===|
Muchas gracias, saludos.
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
¿Probaste incluir <windows.h>? Cuando usé allegro alguna vez según recuerdo tenía que incluir alguna librería de Windows (aunque a esta altura no recuerdo exactamente cuál era). Más aún, había que incluirla antes que la librería de allegro, porque sino había un problema de referencias (no me adentré a fondo en ese tema, con que compilara ya me satisfació y decidí no tocarlo más, grave error, pero buen).
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Incluyendo windows.h antes de allegro.h me da los siguiente errores: c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|31|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|209|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|210|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|211|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|211|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|212|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|212|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\system.h|213|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\mouse.h|74|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\mouse.h|74|error: invalid type in declaration before ';' token| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\mouse.h|99|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\mouse.h|109|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\mouse.h|112|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|29|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|67|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|67|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|68|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|68|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|69|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|69|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|70|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|70|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|71|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|71|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|72|error: using typedef-name 'BITMAP' after 'struct'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\wingdi.h|1353|error: 'BITMAP' has a previous declaration here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\allegro\3d.h|72|error: using typedef-name 'BITMAP' after 'struct'| ||More errors follow but not being shown.| ||Edit the max errors limit in compiler options...| ||=== Build finished: 50 errors, 0 warnings ===|
Saludos.
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
A ver, buscando encontré que entre los includes de windows.h y allegro.h podrías incluir: #include <winalleg.h>
Prueba y contanos. Perdón que no pueda darte una respuesta precisa, pero como te dije, hace años que no uso allegro y tampoco lo usé demasiado!
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Muchas gracias, Ferno.
Si incluyo <winalleg.h> antes de <allegro.h> automáticamente se me abre una pestaña de winalleg.h que dice:
#error Please include allegro.h before winalleg.h!
Así, he probado todas las combinaciones entre esas dos librerías y windows.h, y nada...
No te preocupes si no puedes, Ferno. Muchas gracias.
Saludos...
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Bueno, viendo que no voy a conseguir nunca usar allegro... ¿Podríais recomendarme otra librería gráfica que sea fácil de usar, que tenga manuales en español y buenos y permita hacer, por ejemplo, un videojuego? Saludos y gracias. EDITO: También que se pueda usar fácilmente en Codeblocks, a ver si me va a pasar lo mismo que con Allegro y voy a pasarme otro día entero intentando utilizarla
|
|
« Última modificación: 17 Junio 2012, 00:01 am por DickGumshoe »
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
No desistas amigo! Yo estuve en tu mismo problema cuando lo usé y terminé solucionándolo. Pero si ya estás decidido, podés usar SDL. Hay PDFs con ejemplos y tutoriales para crear juegos simples. También tiene una muy buena documentación online.
|
|
|
En línea
|
|
|
|
DickGumshoe
|
Bueno, seguiré intentándolo durante el día de hoy. Pero cuando consigo solucionar un error... Viene otro. Y lo raro es que nadie comenta nada por Internet...
Sino, utilizaré SDL.
Gracias de nuevo por responder.
|
|
|
En línea
|
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
ld.exe||cannot find -lalld| ||=== Build finished: 1 errors, 0 warnings ===| es alleg, no alld ... fijate que en otro hilo señalaba esta diferencia ... saludos ♥
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[TUTORIAL]Como compilar la librería GMP y configurarla en codeblocks en Windows.
Programación C/C++
|
avesudra
|
3
|
4,577
|
6 Julio 2012, 20:01 pm
por SXF
|
|
|
{RESUELTO}Como saco el dia?,Codeblocks
Programación C/C++
|
SonaArtica
|
5
|
5,247
|
27 Agosto 2012, 18:25 pm
por SonaArtica
|
|
|
Como crear bibliotecas estaticas y dinamicas en NASM?
ASM
|
dnsdirm
|
0
|
2,503
|
3 Septiembre 2013, 04:23 am
por dnsdirm
|
|
|
Solución a error de bibliotecas libstdc++-6.dll y otras con SFML y CodeBlocks
Programación C/C++
|
--<<<@u6u$t0>>>--
|
1
|
7,520
|
15 Junio 2014, 14:56 pm
por leosansan
|
|
|
CODEBLOCKS - cómo instalar librería conio2
Programación General
|
Novato125
|
1
|
4,939
|
25 Agosto 2018, 12:46 pm
por DameBanda
|
|