Custom halcomp with nested functions halcompile warning: implicit declaration of

More
30 Dec 2025 20:48 #340739 by NWE
I get around C++ coding some, but this halcomp thing has me confused. I am trying to call several functions within the _ function. As far as I can tell, what I have should work, but when I halcompile it I get these annoying warnings. I know they are just warnings, but I wouldn't mind fixing them.

In other C projects I sometimes use headers, etc, but I'm confused how this works in halcompile.
I searched around some, but can't seem to find examples of how what I'm trying to do would be done in halcomp.

sudo halcompile --install beam_pullmax.comp 
Compiling realtime beam_pullmax.c
beam_pullmax.comp: In function ‘_’:
beam_pullmax.comp:213:5: warning: implicit declaration of function ‘y_stop’ [-Wimplicit-function-declaration]
beam_pullmax.comp:241:6: warning: implicit declaration of function ‘y_down_fast’ [-Wimplicit-function-declaration]
beam_pullmax.comp:286:6: warning: implicit declaration of function ‘y_down_slow’ [-Wimplicit-function-declaration]
beam_pullmax.comp:448:6: warning: implicit declaration of function ‘y_up_slow’ [-Wimplicit-function-declaration]
beam_pullmax.comp:467:6: warning: implicit declaration of function ‘y_up_fast’ [-Wimplicit-function-declaration]
Linking beam_pullmax.so
cp beam_pullmax.so /usr/lib/linuxcnc/modules/

Ah Ha! I think I got it! Just include a header file like any old C program...
I guess I'll post anyway now that it is all typed up, in case it saves someone else time on a future project.
Attachments:

Please Log in or Create an account to join the conversation.

More
30 Dec 2025 22:49 #340749 by NWE
I celebrated too quick 

It compiles without a complaint, but trying to load it with loadrt beam_pullmax throws:
beam_pullmax: dlopen: /usr/lib/linuxcnc/modules/beam_pullmax.so: undefined symbol: y_down_slow
Attachments:

Please Log in or Create an account to join the conversation.

More
30 Dec 2025 23:20 - 30 Dec 2025 23:34 #340750 by NWE
Progress... so I found this:  forum.linuxcnc.org/38-general-linuxcnc-q...ponent-help?start=10

And that is just what I wish to do; it even works. So now all I need to do is figure out what I did different.
Attached a working example for reference.

Wow, this could get interesting, having to reference hal pins by pointer...
Attachments:
Last edit: 30 Dec 2025 23:34 by NWE.

Please Log in or Create an account to join the conversation.

Time to create page: 0.076 seconds
Powered by Kunena Forum