A platformer is harder than it looks.
Also, why do you want to develop it in C++? Seems a little stupid to do it in a language considered hard for beginners, let alone as a first game.
If you haven't yet learnt C++, try something simpler. A good idea would be Python, or C#. You can find plenty of resources for them, and they'll ease you in more easily.
Regardless of language, you won't want to do Mario. Try something like Pong: input, graphics, basic physics, menus, pausing.
Get it working. Don't worry if it's 'crap', just do it. Finish it.
Go onto something like Tetris, where you've got more to think about: Clearing rows, more physics, timing, generating blocks.
Then try a more action based game; I'm thinking Space Invaders or a topdown, veritcal shooter.
Now, with all that experience and by now a pretty good codebase, go for a Mario clone.
Also, if you think you can 'patch together' a game with different libraries, don't bother trying. You're not going to get anywhere without learning an API or a wrapper/library, learning about data structures and how to organise a game, learning about what works and what doesn't.
If you just want to play one, there's more than I can count out there.