Thousands waited in the rain for Democrat Barack Obama to speak in Charlotte on the eve of the presidential election.