How do dynamic libraries work with gcc? (example using Raylib) - eviltoast

Hello,

I’ve installed the library called Raylib (https://www.raylib.com/). I followed the instructions to install the dynamic library. However, when compiling using gcc, including the raylib.h header dynamically in the source code produces an undefined reference error for every function I use from that library. That means that the library functions weren’t attached to the executable at runtime, so gcc didn’t find the right .so file.

To actually produce an executable, I have to use a shell script, that for some reason needs raylib’s source code path. But that goes against the point of installing a dynamic library, since the latter is used so that source code can be compiled without library functions, instead putting them somewhere else to be shared with other executables.

Can someone explain to me how gcc finds the .so files and if anyone has used raylib dou you understand what the shell script does?