Нет ни одного.Нет даже кроссплатформенного способа создания и отображения «собственного окна» с использованием только стандартного C ++.
Существуют кроссплатформенные способы с использованием наборов инструментов / каркасов, которые обеспечивают независимую от платформы абстракцию оконной системы., включая создание окон, изменение размера, пользовательское рисование, кнопки и т.д ...:
- Nokia Qt: использует собственные API рисования для своих виджетов, то есть все будет выглядеть "правильно", не имея дело с аномалиями платформы,Имеет отличную документацию и очень большой набор функций.
- wxWidgets: то же самое, что и Qt, хотя некоторые спорные документы отсутствуют, и код может запутаться.
- GTK +: выглядит ужасно в Windows, написанной на чистом c(имеет обертки C ++, но все еще c).
Если вы действительно хотите абстрагировать вещи платформы самостоятельно, вам придется либо разделить исходный код и переопределить все, что уже есть в вышеупомянутых проектах, илииспользуйте МНОГО # ifdef как это:
#ifdef _WIN32
// windows specific code
#elif defined(somelinuxdefine?)
//Linux code
#elif defined(somemacdefine?)
// Mac code
#endif
, что по крайней мере очень сложно, грязно и не поддерживается.