簡體   English   中英

使用 gcov 測試 C++ 程序

[英]Using gcov to test a c++ program

我第一次使用 gcov 來分析我的程序 (C++) 該程序由三個類組成,我使用 Code::Blocks 構建了該項目。 當我使用以下命令調用程序時:

C:\\Users\\XXX\\Documents\\Test\\TreeObjModel\\src>gcc -fprofile-arcs -ftest-coverage Tree.cpp

我收到以下錯誤:

Tree.cpp:1:18: 致命錯誤: Tree.h: 沒有這樣的文件或目錄編譯終止

cpp 文件在目錄 "C:\\Users\\XXX\\Documents\\Test\\TreeObjModel\\src\\" 中,頭文件在目錄 "C:\\Users\\XXX\\Documents\\Test\\TreeObjModel\\include\\"

我們是否需要將代碼和頭文件都放在同一目錄中?

提前致謝。

您應該使用-I標志來指定頭文件的位置。

從你的例子來看,你應該添加-I../include

您至少有兩個選項可以指示編譯器在哪里找到頭文件(包含)。

  1. -Ipath_to_includes作為 gcc 編譯器的參數。 例如-I../include
  2. 在程序中包含時,請指定目錄。 例如#include "../include/foo.h"

我的策略是成功編譯我的項目,然后嘗試使用其他一些東西,例如代碼覆蓋率標志。 我這樣說是因為您的錯誤與 gcov 沒有任何關系,並且試圖在您的程序編譯之前檢測您的程序以獲取代碼覆蓋率,這會使您的事情變得更加復雜。 一步一步來 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM