是否可以通過運行鏈接到使用--coverage選項構建的共享庫的可執行文件來生成gcov數據文件(.gcda文件)?gcov:從共享庫生成.gcda輸出?
基本上,我有由編譯成一個共享庫中的多個C++文件主庫,然後一個稱爲「測試」包含鏈接到並測試主庫的測試程序子目錄。一切都編譯得很好,.gcno文件是爲庫源文件和測試源文件生成的。 .gcda文件只是爲測試源文件生成的,但我真的需要它們來編譯到共享庫中的實際源文件。
任何想法?
附加信息:
- 這是所有的C++代碼
- 一切都被建立與由automake
產生化妝腳本 - 該--coverage選項在共享庫lib_la_CPPFLAGS和lib_la_LDFLAGS指定Makefile.am
- 該--coverage選項爲AM_CPPFLAGS和AM_LDFLAGS指定測試可執行Makefile.am
- 測試源文件使用谷歌測試(C++單元測試框架)
編輯的:固定的間距問題
此外,對不起,回答我的問題,並接受它,但它坐在這裏幾天都沒有任何人的幫助。 – deuberger 2010-09-20 20:02:46
我也開始使用gcov和共享庫,找到你的答案和引用的gcc-help線程將會很有用。回答你自己的問題是一個很好的理由。 – Tom 2011-02-18 03:57:33
@Tom:謝謝,我很高興這很有幫助。我也應該注意gcov有一個-o(--object-direct)選項,它也可以用來指定.gcda文件的位置。 – deuberger 2011-02-18 14:07:08