You can require user to have SFML installed in standard path or do what I know what some app does: it comes with the folder in which its' needed .so are and has shell script that adds that folder to LD_LIBRARY_PATH and then runs the real app so user would click that to launch and not real executable itself. You'd still need the user to have all SFML dependencies unless you provide these too(to make sure they are built with same gcc and compatible). But I might be wrong, I'm not very experienced.