私はcmakeでgcovを使用しています。すべてのフラグが適切に設定されています。.GCNO ファイルは正しく作成されます。ただし、ソース ファイルから生成された実行可能ファイルを実行する場合、状況は少し複雑です。実行可能ファイルは、bash スクリプト内で実行されます。
正確な回答ができるように、サンプル シナリオを作成させてください。
MY_FILE.CC というファイルがあり、その実行可能ファイル名は EXECUTABLE_FILE です。gcov にすべてのフラグを設定して cmake を使用しています。THE_SCRIPT.SH というスクリプトがあります。「make test」で実行します。このスクリプトは、EXECUTABLE_FILE ファイルを実行します。
したがって、ここでの考え方は、bash スクリプト (THE_SCRIPT.SH) が実行可能ファイル (EXECUTABLE_FILE) を実行し、これらの bash スクリプトを実行しても .GCDA ファイルが作成されないということです。実行可能ファイルを直接または手動で実行すると、.GCDA ファイルが作成されます。bash スクリプトはサブシェル内で実行され、親シェルはソースの実行可能ファイルが実行されたかどうかを認識できないと思います。これがまさにその状況であるかどうか誰かが確認できますか? そうでない場合、正確な問題は何ですか?はいの場合、この問題の解決策は何でしょうか?
どうもありがとう。