It all depends on _how_you_link_ with GPL covered code. If a library that you want to use is covered by the GPL (not LGPL) and you link against it, your application must be distributed under the terms of the GPL. The license considers your application and the library working together as a combined work.
If you are just distributing independently linked GPL programs along with a proprietary program and they all work together (but never link together), you are fine. The one exception is the intermediary output of gcc, however that's only interesting if you are writing a gcc plug-in.
If you are not ready to distribute any part of your code that links against the GPL code under the same license, you can't use the GPL code. Please note, selling has nothing to do with it, all the GPL cares about is distributing, gratis or for a fee, doesn't matter.
You can't enforce more restrictions than the GPL dictates on a program that uses GPL code. Likewise, you can't enforce fewer restrictions for the same reason.
For instance, if I write a command line program and I want to give it line editing capabilities and a history, I might link against (and use) libreadline, which is GPL. However, if I distribute my new program with a dependency on readline(), I must license the program under the GPL. This is why libedit / libeditline was created under the 3 clause BSD license with a fully compatible API.
Any C program will link against glibc, it must. Because glibc is LGPL, I am not required to inherit the license in my own code.
The library you referenced allows you to choose what license you want, I usually don't use dual licensed libraries unless I can confirm a sole owner of the copyright. If you can confirm that, just use the library under the terms of the MIT license.