If some code links to your GPL library, the whole project has to be licenced GPLv3, full stop. This does not "prevent people to use [it] at all", it just stipulates that they have to make the source available and the source of improvements they make available. Each substantial library I write in my free time is GPLv3. I want to contribute to the ecosystem and I want everyone enjoying my work contributing back to the ecosystem.
A similar licence, called LGPL, allows dynamic linking without having to make the code of the whole project available, just the code of the specific library + improvements. If for some reason you need this, I invite you to check how dynamic linking works in Pharo and read this FAQ by the FSF (and all other FAQs, it is a very clear, informative document).