From my experience there are multiple steps you will have to go through. Choosing C++ libs is not the most pressing of them. There are more important things you will have to consider.
Concerning the hosting of your leaderboard you will have to make a choice. Either you rent servers and you can chose the technologies you want and do what you want. Or you rent hosting space and you will have to work with the techs at your disposal. Or you will use one of the cloud solutions and have to work with the constraints and advantages of those.
It's all a question of cost time investment and reusability. If you already have server you can try to host your leaderboards there, if you already use a hosted site you can start prototyping with that.
Personally I would recommend renting a server or a virtual server at first.
This question deserves a thread of its own and should be answered independently if you have a hard time dealing with it.
Which server technologies you will use is up to you and depends heavily on the hosting solutions you will choose.
Of course you can start with an SQL storage, MySQL is pretty cheap efficient and simple to use, supported by most hosting providers. This is the solution I have been using. But beware when it comes to scalability you might regret using it later.
There are other better solutions. ERLANG based DB servers like CouchDB are quite popular. One of them, RIAK is simple to distribute across multiple servers, efficient, uses JSON and is used by big names like Mozilla and GitHub.
You will not give access to your data storage directly from your client apps. You will need to write an application to manage authentications, authorizations, some logics and DB access.
Java, PHP and perl are often used to write web services which provide these functions, are well supported by hosting providers and have strong dev communities.
But if you want to avoid the overhead of a full fledged HTTP server like Apache you should use nodeJS. It is a very efficient low footprint and fast solution. Used by e-bay, Microsoft and Linked-In. It integrates very nicely in setups that use JSON for data exchange.
Your leaderboard design will start with the data storage. What do you want to store. How do you want to store it and for how long?
You want to store the scores of course (time, distance, points...), but with that do you have multiple levels? then you will need to store the level IDs, do you support multiple platforms? If so the difficulty of the game might be different on different platforms for technical or demographical reasons, will you store that too...
How do you want to sore it? Do you want to keep only the best scores, replacing all previous ones done by the player on the same platform/level/context? Or will you store everything to keep track of all the possible scores? Will you hold on to discarded previous scores for data mining?
Once you answered these questions you can start thinking about the implementation.
You will want to transfer data from and to the clients. For this you will have to create a good communication protocol.
The choice of the underlying protocols is secondary in this step (HTTP, TCP, UDP).
Whatever your choice is you will have to craft your own protocol carefully so you will be able to handle errors, changes in the protocol, application updates, etc...
So make sure your server application can handle providing data to applications which are updated and applications which run older versions as well.
Make sure to protect the data transferred to and from the server. Be careful about protecting score uploads, you can use hash keys, encryption and other mechanisms to protect your server from cheaters.
Wherever you chose to send binary or text (JSON, XML) data is up to you. But for flexibility and compatibility I would recommend JSON. Avoid XML. Use binary if you really need/want it.
This topic deserves more attention and you might have more questions...
The client will have to integrate with your solution. You should not chose your server tech and protocol layers based on the client's language. You should integrate your server solution to your game.
If you chose JSON over HTTP there are libs for that.
There are C/C++ libs for JSON, I would recommend using them. You can write your own if you like. I wrote a small JSON lib in a matter of hours. It's now used in games across dozens of platforms.
Concerning HTTP in C++ use something more modern than CURL. cpp-netlib should do.
Beware of the character encodings etc when sending the data though.
To be able to store and display best scores for your users they will have to be identified somehow. There are multiple ways.
The simplest being none. Use the Enter Name Here field to display the names on the leaderboard.
You can also ask the players to register... this is often a process which discourages players.
One way I used a lot is Facebook authentication. This way you can pass the auth data to or through your server and get data about the friends and serve personalized leaderboards i.e. Global leaderboard, friends leaderboard...