Salut,
Tu as deux manières.
Soit tu utilises l'API du système que tu utilises.
_Sous Windows (l'api Win32 avec des fonctions comme CreateWindow etc...)
_Sous Unix/Linux (Utiliser la librairie X)
Généralement c'est très fatiguant de programmer une interface avec ces librairies. C'est long, il faut tout paramétrer de A à Z etc... C'est un peu trop bas-niveau.
Soit tu utilises une librairie d'interface graphique, de préférence libre et portable. Alors là tu as le choix il y en a plusieurs, les plus connues étant Gtk, Qt et WxWidget.
Elles sont toutes libres et portables (passent sous Linux /Windows etc...) par contre Qt est payante pour un usage commercial, sinon pas de problème.
Personnellement j'ai un faible pour Qt qui est bien foutue mais c'est à toi de voir. Tu trouveras plein de tuto sur google.