2012-07-26 462 views
-1

我record.h文件未知類型名稱

#ifndef _RECORD_H 
#define _RECORD_H 

void run_status_window(Recording *recording); 
void stop_rec_button_clicked_cb(GtkButton *button, gpointer data); 
GtkWidget* status_window(Recording *recording); 

#endif 

我.c文件

#include "config.h 
#include <string.h> 
#include <fcntl.h> 
#include <stdlib.h> 
#include <gtk/gtk.h> 

#include "record.h" 

extern GtkWidget* mute_button; 
extern GtkWidget *app; 
... 

當我嘗試編譯收到此錯誤:

error: unknown type name 'Recording' 

我應該怎麼做什麼?

感謝

+9

「Recording」定義在哪裏?您需要包含定義它的頭文件。 – 2012-07-26 21:15:13

+2

請勿使用'_RECORD_H'。名稱以一個下劃線開頭,後跟一個大寫字母,保留用於執行。 – chris 2012-07-26 21:18:36

+0

好的,謝謝。這解決了問題 – Cecylia 2012-07-26 21:23:25

回答

1

您需要包括其中Recording定義的頭文件。沒有頭文件,編譯器不知道Recording是什麼,所以它給你一個錯誤。

此外,您不應該使用宏的_RECORD_H爲您的標頭的包括後衛。以下劃線和大寫字母開頭的名稱(以及以兩個下劃線開頭的名稱)由編譯器保留。相反,使用類似RECORD_HRECORD_H_INCLUDED