The 33-year-old, who was released by Ipswich earlier this month, had been linked with a host of clubs in the second tier of English football. However, he has agreed to deal to move to Oakwell for the remainder of the season.
He told the club's official website: "I'm looking forward to getting back to playing football. Everyone is really positive here. I'm going to try and bring more goals to this team."
Scotland has also played for Swansea City.