On Linux, you want to check D-Bus [1] if you need IPC (but that is primarily used for message exchange between different desktop apps). Everything else you mentioned sounds like a recipe for bloat. Desktop GUI libraries (like Qt or Gtk) ship everything you'll need and you can get a platform-agnostic app without much of a problem.
> running multithreaded and writing into a sqlite database.
sqlite doesn't support multithreaded writes, so you'll have to use a queue or something like that. Qt/Gtk ships with that as well.