Before you use a library, you have to read the documentation about how to deploy it. Most libraries including GTK, QT and SDL require the programmer to manually provides the runtime files.
Or instruct the user that it depends on these libraries so the user can decide for him/herself if he/she wants to download and install those libraries.
If I'm not wrong, certain versions of SDL now allow static linking, which will make the deployment easier. You may need to learn what is static linking and dynamic linking, and how to do it.
It is possible to statically link in every 3th party lib (you can always use a wrapper). But then some people wonder about bloat.
Writing portable app is an art. It's more challenging but it's fun.
Writing cross-platform apps is even more an art and even more challenging. Hmz, static linking in SDL, how fun that must be to do for certain platforms