SFML community forums

Bindings - other languages => C => Topic started by: DevilArx on April 14, 2017, 07:43:46 pm

Title: Error when linking project on CSFML
Post by: DevilArx on April 14, 2017, 07:43:46 pm
When i compile a project, I get this error:

OS: Windows 7

C:\Users\DevilArx\Workspace\Roguelike-study>gcc *.o -L"lib/CSFML/lib" -lcsfml-window-2 -lcsfml-graphics-2 -lcsfml-system-2
main.o:main.c:(.text+0x56): undefined reference to `_imp__sfRenderWindow_create'
main.o:main.c:(.text+0x8c): undefined reference to `_imp__sfRenderWindow_close'
main.o:main.c:(.text+0xa2): undefined reference to `_imp__sfRenderWindow_pollEvent'
main.o:main.c:(.text+0xad): undefined reference to `_imp__sfBlack'
main.o:main.c:(.text+0xbf): undefined reference to `_imp__sfRenderWindow_clear'
main.o:main.c:(.text+0xcd): undefined reference to `_imp__sfRenderWindow_display'
main.o:main.c:(.text+0xdb): undefined reference to `_imp__sfRenderWindow_isOpen'
main.o:main.c:(.text+0xed): undefined reference to `_imp__sfRenderWindow_destroy'
collect2.exe: error: ld returned 1 exit status

Tell me please how can I fix this?
Title: Re: Error when linking project on CSFML
Post by: eXpl0it3r on April 14, 2017, 07:50:09 pm
Use the proper linking order. The graphics module depends on the window module so tje graphics module has to be linked before the window module.
Title: Re: Error when linking project on CSFML
Post by: DevilArx on April 14, 2017, 08:07:26 pm
After changing the order, the errors still remains

C:\Users\DevilArx\Workspace\Roguelike-study>gcc *.o -L"lib/CSFML/lib" -lcsfml-graphics-2 -lcsfml-window-2 -lcsfml-system-2
main.o:main.c:(.text+0x56): undefined reference to `_imp__sfRenderWindow_create'
main.o:main.c:(.text+0x8c): undefined reference to `_imp__sfRenderWindow_close'
main.o:main.c:(.text+0xa2): undefined reference to `_imp__sfRenderWindow_pollEvent'
main.o:main.c:(.text+0xad): undefined reference to `_imp__sfBlack'
main.o:main.c:(.text+0xbf): undefined reference to `_imp__sfRenderWindow_clear'
main.o:main.c:(.text+0xcd): undefined reference to `_imp__sfRenderWindow_display'
main.o:main.c:(.text+0xdb): undefined reference to `_imp__sfRenderWindow_isOpen'
main.o:main.c:(.text+0xed): undefined reference to `_imp__sfRenderWindow_destroy'
collect2.exe: error: ld returned 1 exit status
Title: Re: Error when linking project on CSFML
Post by: eXpl0it3r on April 14, 2017, 10:24:46 pm
Your main object files need to be placed before linking libraries.
Just remember to use the "depends on"-rule: main.o depends on sfml-graphics depends on sfml-window depends on sfml-system
That gives you the linking order.