Windows命令行C文件编译错误

时间:2018-09-13 01:40:51

标签: c

我使用gcc编译器和Clion IDE处理C代码

因此,我有一个src文件夹,用于存放.c代码和include文件夹的.h文件,其中包含一堆#define

我的main.c程序中包含一些.h文件

当我在Clion项目中运行它时,一切正常

但是当我尝试使用命令行运行时(因为我需要命令参数),它说

Fatal Error: MyFunction.h, no such file or directory MyFunction.h是我的文件,不是默认的库文件

我在命令行中输入的是$gcc C:\Users\Admin\CLionProjects\project\src\main.c

我得到的是"C:\Users\Admin\CLionProjects\project\src\main.c 10: Fatal Error: MyFunction.h No such file or directory.

然后,我尝试将#include <MyFunction.h>更改为#include "MyFunction.h",希望它可以解决问题,但是没有。

然后我做了一个测试,我在同一.c文件夹中调用了另一个src文件的函数,并使用命令行运行main.c,但是它告诉我该函数是甚至没有定义。

cmd可以识别所有默认的库文件,例如stdio.h,但我识别的文件都不是。任何想法如何解决这个问题?我知道一定是某种路径错误

1 个答案:

答案 0 :(得分:0)

您必须告诉onchange预处理程序在哪里找到要包含的文件。

您有两种标题:

  • 系统标题:包含在gcc中。
  • 本地标题:包含在#include <header>中。

预处理程序在标题搜索路径中搜索以查找系统标题。 预处理程序在当前目录中搜索,然后在标头路径中查找本地标头。

您可以使用#include "header"调用中的-I选项在标题搜索路径中添加文件夹。

因此,您可以使用以下命令进行编译:

gcc

$gcc -I C:\Users\Admin\CLionProjects\project\include C:\Users\Admin\CLionProjects\project\src\main.c