Я тоже столкнулся с этой проблемой, но с тех пор решил ее.Я просто использую опцию --coverage как в CPPFLAGS, так и в LDFLAGS.Я думаю, что это должно позаботиться о проблеме компиляции.
Общий объект все еще не производит файлы .gcda, хотя я не уверен, как решить эти проблемы.Как вы сказали, он прекрасно работает с исполняемыми файлами, но у общих объектов, похоже, есть некоторые проблемы.
РЕДАКТИРОВАТЬ: Очевидно, gcov теперь поддерживает общие объекты.Вчера я провел значительное количество исследований и нашел противоречивые ответы, поэтому я отправил по почте список gcc-help.См. Нить здесь: http://gcc.gnu.org/ml/gcc-help/2010-09/msg00130.html. Я еще не пытался решить свою проблему, основываясь на ответе, но я отправлю ответ, когда сделаю.работать с gcov (или вместо опции --cover с gcc).Здесь есть еще один пост с подробностями: gcov: вывод .gcda из общей библиотеки? .Он также ссылается на ту же ветку выше.