我是C編程新手。當我將blank.h文件包含到Test.c文件中時,程序將無法編譯,但是當我將blank.c文件包含到Test.c文件時,它編譯得很好。以下是所有.c和.h文件的來源。我使用gcc作爲我的編譯器,我有一種感覺,我需要做一些與它的鏈接?任何幫助將非常感謝!C包括.h不工作?
這是TEST.C源
#include <stdio.h>
#include "blank.h"
#include "boolean.h"
int main()
{
bool result = blank("");
printf("%d\n", result);
return 0;
}
這是blank.h源
// Header file for blank function
bool blank(char string[]);
這是blank.c源
#include "boolean.h"
#include "blank.h"
#include <regex.h>
bool blank(char string[])
{
regex_t regex_blank;
int blank = regcomp(®ex_blank, "[:blank:]", 0);
blank = regexec(®ex_blank, string, 0, NULL, 0);
if (string == NULL || blank == 1)
return true;
else
return false;
}
和最後的布爾.h
// Boolean
// Define true
#ifndef true
#define true 1
#endif
// Define false
#ifndef false
#define false 0
#endif
typedef int bool;
如何編譯它?您還需要鏈接從'blank.c'創建的對象文件。 –