gcc编译并生成文件错误

gcc编译并生成文件错误,c,gcc,makefile,C,Gcc,Makefile,我有一个名为“aos”的目录,其中有make的结果,即.o文件和.a文件 我的测试用例文件位于名为“test1”的目录中,该目录位于“aos”目录下 我在test1目录中,它有一个名为main.c的文件(这是我要执行的文件)。我试图通过发出命令来编译该文件 gcc -Wall -pedantic -I ../gtthreads.c -o main main.c ../gtthreads.a 但我有以下错误: ../gtthreads.c is not a directory ../gtt

我有一个名为“aos”的目录,其中有make的结果,即.o文件和.a文件

我的测试用例文件位于名为“test1”的目录中,该目录位于“aos”目录下

我在test1目录中,它有一个名为main.c的文件(这是我要执行的文件)。我试图通过发出命令来编译该文件

 gcc -Wall -pedantic -I ../gtthreads.c -o main main.c ../gtthreads.a
但我有以下错误:

../gtthreads.c is not a directory  
../gtthreads.a is not a directory

我做错了什么?如何引用“aos”目录中的.a文件和.c文件?

使用
-I
-L
开关分别向
\include
和链接器搜索路径添加目录。因此,如果您在父目录中有标题,但在代码中没有相对路径,则可以使用:

-I..
这将使
gcc
在父目录中查找标题

如果要将父目录中的
main.c
gtthreads.c
编译为可执行文件,可以:

gcc -Wall -pedantic -I.. ../gthreads.c main.c -o main
如果要编译
main.c
并将其与父目录中的
gthreads.a
文件链接,只需使用:

gcc -Wall -pedantic -I.. -o main main.c ../gtthreads.a

-I
-L
开关分别用于向
#include
和链接器搜索路径添加目录。因此,如果您在父目录中有标题,但在代码中没有相对路径,则可以使用:

-I..
这将使
gcc
在父目录中查找标题

如果要将父目录中的
main.c
gtthreads.c
编译为可执行文件,可以:

gcc -Wall -pedantic -I.. ../gthreads.c main.c -o main
如果要编译
main.c
并将其与父目录中的
gthreads.a
文件链接,只需使用:

gcc -Wall -pedantic -I.. -o main main.c ../gtthreads.a