Hi,
I need to update the EAL library in my application due to a switch to ctrlX drives. It is a 32-bit LabWindows/CVI (2020f3) application.
When updating all eal4c files to the new release https://www.boschrexroth.com/de/ch/media-details/000d5420-babc-4ca2-968d-37058d54db0f the linking does not work anymore.
I see that the function declarations in the header files removed the __cdecl (implicitly using __stdcall in my project) but looking at the object dump, the functions are still exported without decorations (e.g. _ealApiConnectWithLto) which indicates a __cdecl.
When adding the __cdecl to the corresponding function declarations there are issues with the C runtime linking in libealwin32.lib
error: Undefined symbol '__imp____acrt_iob_func' referenced in "eal4c\lib\libealwin32.lib".
error: Undefined symbol '__imp____stdio_common_vfprintf' referenced in "eal4c\lib\libealwin32.lib".Has anyone had the same issue and been able to solve it? Is this a known problem?
Edit:
I get the same errors when compiling the CVI Projects from the eal4c Samples directory.
Build Status (ReadWriteParameters.prj - Debug)
Link ReadWriteParameters.exe
error: Undefined symbol '__imp____acrt_iob_func' referenced in "c:\Program Files (x86)\Rexroth\EAL-SDK\02VRS\eal4c\lib\libealwin32.lib".
error: Undefined symbol '__imp____stdio_common_vfprintf' referenced in "c:\Program Files (x86)\Rexroth\EAL-SDK\02VRS\eal4c\lib\libealwin32.lib".
Build failed.