Зачем вам это нужно?
Каждый инструментарий имеет свои сильные и слабые стороны. Если вы хотите разработать что-то, что будет работать с ними всеми, вы будете ограничены совокупной суммой всех слабостей и не получите ни одного из сильных сторон.
Например, если вы используете Qt, вы не сможете использовать сигналы и слоты QT. это сделает написание GUI и взаимодействие с ним довольно болезненным. В основном вам нужно написать целый слой-обертку вокруг чего-то, что уже является слоем-оберткой (для нативных API)
Я не вижу никакой возможной причины, по которой пользователь мог бы выбирать между Qt, GTK + или ncourses. просто выберите одну вещь и придерживайтесь ее.