The 35-year-old forward had been strongly linked with the club, who were relegated from the Premier League last season.
The striker has agreed a two-year deal at Ewood Park.
Gomes made 79 appearances for his country, scoring 29 times - including seven at major tournaments.
He peaked at international level with four goals at Euro 2000 as his side reached the semi-finals of the competition.
Gomes played for Boavista and Benfica before earning a 17 million euro move to Fiorentina.
He later returned to Benfica and later joined Braga, scoring six times in 20 outings last term.