The 25-year-old sprinter, who won gold in 100m, 200m and 4 x 100m relay at the London Olympics, is a keen football follower and opined that the Portugal international is more complete than his Argentine rivals.
"No doubt Cristiano is better than Messi," he told Portuguese channel RTP. "He is a more complete player.
"I would give [the Fifa Ballon d'Or] to Cristiano. He has managed to stay on top and that's the most difficult thing."
Messi won the Ballon d'Or in 2009, 2010 and 2011, while Ronaldo was bestowed with the prestigious individual award in 2008.