3

我对以下包含文件(使用 GCC)感到困惑

我在文件夹 AAA 中有 Ac 和 Bc

和 Bh 在文件夹 BBB

在交流:

#include <stdio.h>
#include "B.h"

main()
{
    errPrint();
}

在公元前:

#include <stdio.h>
#include "B.h"
void errPrint(void)   
{
    printf("err info\n");
}

单位:

#ifndef _B_H
#define _B_H
void errPrint(void);
#endif

现在我运行命令:

#gcc -I /BBB A.c B.c -o exeobj

没关系。但是在其他文件夹中我必须使用“-I”来指定标题似乎有点无聊。所以我编辑我的“/etc/profile”文件并添加

C_INCLUDE_PATH=/BBB  
export C_INCLUDE_PATH

指定头文件夹,然后

echo $C_INCLUDE_PATH

它显示了正确的路线。但是当我编译时:

#gcc -c A.c B.c

错误显示:

error: B.h: No such file or directory

我不知道哪里出错了,任何人都有线索,欢迎任何建议。

注意:我是新手,还不能使用 Makefile ......

4

1 回答 1

0

在交流:

#include <stdio.h>
#include <B.h>

main()
{
    errPrint();
}

在公元前:

#include <stdio.h>
#include <B.h>
void errPrint(void)   
{
    printf("err info\n");
}

如果要使用#include "file.h"你必须指定路径示例:"/BBB/B.h"

有关更多信息,您可以阅读 C 标准第 6.10.2 节第 2 至第 4 段。

编辑:测试后。请尝试一下。

echo -e "C_INCLUDE_PATH=/BBB\nexport C_INCLUDE_PATH" >> ~/.bash_profile

source ~/.bash_profile

现在

gcc A.c B.c

祝你好运:)

于 2013-03-24T17:28:29.353 回答