Allegro.cc - Online Community

Allegro.cc Forums » Installation, Setup & Configuration » [A5] Problems with Static Linking

Credits go to Elias for helping out!
This thread is locked; no one can reply to it. rss feed Print
[A5] Problems with Static Linking
Desmond Taylor
Member #16,027
July 2015

I haven't used allegro in a long time and thought it would be a good time to get back into it. However, I seem to be having issues static linking the libraries.

The errors I am getting are below. I've searched Google and these forums with no success.

I do hope someone can help me with this as I can't start without it.

#SelectExpand
1||=== Build: Debug in SurvivalCraft (compiler: GNU GCC Compiler) ===| 2D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `_al_dtor_list'| 3D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `_al_unregister_destructor'| 4D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 5D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_destroy_path'| 6D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_destroy_path'| 7D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_free_with_context'| 8D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 9D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_free_with_context'| 10D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `_al_add_exit_func'| 11D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_calloc_with_context'| 12D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_create_path'| 13D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 14D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 15D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `_al_dtor_list'| 16D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `_al_register_destructor'| 17D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_calloc_with_context'| 18D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 19D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 20D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 21D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_new'| 22D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 23D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 24D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 25D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_ustr_free'| 26D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_free_with_context'| 27D:\Programming Tools\Libraries\cpp\allegro5\lib\liballegro_dialog-5.0.10-static-mt.a(dialog.o):dialog.c|| undefined reference to `al_path_cstr'| 28||=== Build failed: 26 error(s), 0 warning(s) (0 minute(s), 4 second(s)) ===|

Thank you for taking your time in reading this.

Elias
Member #358
May 2000

Make sure to link in the correct order, in this case liballegro should come after liballegro_dialog. You can also compile the "monolith" version then there's only one library to link to.

--
"Either help out or stop whining" - Evert

Desmond Taylor
Member #16,027
July 2015

Elias, You are my saviour. Thank you so much for your help.

I shall look into using the monolith one too at some point. For now I shall get onto seeing how much I can remember :)

Thank you again for the help.

Go to: