The 31-year-old moves north after leaving Blackpool and can count Tranmere Rovers, Derby County, Bradford City and Rochdale among his former clubs.
Canning told the Hamilton website: “It’s been clear that we need to add more firepower to the squad and we’ve been working to bring in the right quality. Steve is an excellent finisher and has great experience at a high level down south.”