lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 2021/11/5 12:53, Kaz F wrote:
>  
> 
> If it helps, this is the problem area in the C file:
> 
>  
> 
> #ifndef IUPLUA_NO_CD
> 
>   cdlua_close(L);
> 
>    IupClose();
> 
> #endif
> 
>   IupControlsClose();
> 
>  
> 
> I saw elsewhere (http://lua-users.org/lists/lua-l/2005-03/msg00395.html <http://lua-users.org/lists/lua-l/2005-03/msg00395.html>) IupControlsClose being used before IupClose, but swapping them in my C script didn’t fix it.
> 
>  
> 
> I did see ‘IUP_CLOSE’ in libiupcontrols.a (opened in Notepad), but none of my files have ‘IupControlsClose’.
> 


you see, according to the change log on iup website, `IupControlsClose` was deprecated in iup 3.0-beta1,
and removed in version 3.19. so I guess your original code was written for iup version earlier than 3.19,
or maybe even for version 2.x. since you only got a link error, but not a compile error, I suppose it's
not only that you may be missing some linker arguments, but you might have also included the wrong header
from different or mixed library versions.

it seems that you are not very comfortable dealing with C code and GNU toolchain. so, I suggest you either:

 a) hand over the project to someone who is is more familiar with GCC, or
 b) you figure out the original iup version and stick with a compatible version instead of the latest.

bottom line is, even for experienced C programmer, it's not a trivial task to migrate a project over
incompatible versions, let alone for someone who don't even fully understand compiler error messages.
programmers in general prefer writing new code to maintaining legacy code base, because maintaining
old code base is usually less fun.