Feldman is guaranteed $6 million next season and can earn another $1 million in incentives.
The 29-year-old right-hander was 39-44 with a 4.81 ERA over eight years with the Rangers, going 6-11 with a 5.09 ERA in 29 appearances (21 starts) last season.
A reliever early in his career, he has made 20 or more starts in four of the last five seasons, and general manager Jed Hoyer made it clear the Cubs see him as part of the rotation.
"We signed Scott as a starter," Hoyer said. "I know he's bounced around a little bit with the Rangers, but in large part, that was due just to the amount of starting pitchers they had and their depth. We clearly see him as a starter, and we're excited to add him to the rotation."
The 6-foot-7 Feldman's best season was in 2009, when he won 17 games. He missed the first half of the 2011 season while recovering from right knee surgery, and it was clear to him after last season that he and the Rangers were going to part ways.
"Nothing was ever said like, `Hey, I'm never coming back.' They didn't say anything like, `Hey, we don't want you back,"' he said. "It was just like a mutual understanding. I was looking for an opportunity to have a little bit of a bigger role on the team, a more consistent role. At the same time, I left there on good terms with everybody and I'm going to miss those guys on the team, for sure. There are a lot of good people in that organization that I'm going to miss, also."