【问题标题】:gcc compilation and Make file errorgcc 编译和 Make 文件错误
【发布时间】:2011-10-02 08:09:57
【问题描述】:

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

我的测试用例文件在“aos”目录下名为“test1”的目录中。

我在 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文件?

【问题讨论】:

    标签: c gcc makefile


    【解决方案1】:

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

    -I..
    

    这将使gcc 在父目录中查找标题。

    如果要将父目录中的main.cgtthreads.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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多