Hi!

> The cause could be that the library needs to be compiled with: 
> -fgnu89-inlineas I found from: https://www.allegro.cc/forums/thread/617748
>  
> I wrote a message on djgpp mailing list about it and got a response that it 
> is a known issue:
> https://www.delorie.com/djgpp/mail-archives/browse.cgi?p=djgpp/2021/06/21/18:17:06

https://github.com/liballeg/allegro5/commit/1d1cc0542c711afe15d4563bbd67f57554ed8d0f

>  Explicitly set -std=gnu89 and -std=gnu++98 for DJGPP compilation
> 
> Versions 5.00 and above of GCC default to -std=gnu11 instead of -std=gnu89.  
> This breaks linking of Allegro 4.2 on newer GCC systems, because the new 
> standard changes the meaning of `static inline` functions.
> 
> Explicitly setting -std=gnu89 in CFLAGS (and again for `asmdef.exe`) uses the 
> old-style inline rules and allows linking to complete.
> 
> Similarly, there is a linking issue with cpptest.cpp that is avoided when 
> specifically pinning the C++ version to gnu++98.

That sounds useful, so how short does your list of warnings get after
a make clean, editing the C_STD and CXX_STD in your (Allegro) makefile,
and trying again? Possibly after reverting your kraptor source edits?

Note that pasting 100 "multiple definition of..." is not
really entertaining, we get your point :-D


Regards, Eric



_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to