Dear Chickeneers!

I might be stupid or blind, but I can't find a way of announcing foreign
libraries to 'csc' that have to be linked to my binary. I have the
following code:

*(import bind)*
*(bind "int mosquitto_lib_init(void);")*
*(display (mosquitto_lib_init))*


When doing 'csc mqtt.scm' on it, I get:

*[clange@sencha chicken-ffi]$ csc mqtt.scm*
*mqtt.c: In function ‘stub30’:*
*mqtt.c:27:8: warning: implicit declaration of function
‘mosquitto_lib_init’ [-Wimplicit-function-declaration]*
* return(mosquitto_lib_init());*
*        ^~~~~~~~~~~~~~~~~~*
*mqtt.c:24:54: note: in definition of macro ‘return’*
* #define return(x) C_cblock C_r = (C_int_to_num(&C_a,(x))); goto C_ret;
C_cblockend*
*                                                      ^*
*/usr/bin/ld: mqtt.o: in function `f_154':*
*mqtt.c:(.text+0x611): undefined reference to `mosquitto_lib_init'*
*collect2: error: ld returned 1 exit status*

*Error: shell command terminated with non-zero exit status 256: 'gcc'
'mqtt.o' -o 'mqtt' -L/usr/lib -Wl,-R/usr/lib -lchicken -lm -ldl*


Understandably. Since I didn't link libmosquitto.so to it. But *HOW*?! I
tried '-lmosquitto', but that's not passed on to gcc. Which is the correct
way?
_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to