【问题标题】:How to use gcc correctly from the ubuntu terminal?如何从 ubuntu 终端正确使用 gcc?
【发布时间】:2016-02-03 21:51:47
【问题描述】:

我正在尝试使用 gcc 从终端编译一个 .c 文件。该文件包括一个定义函数的个人库。这个 library.h 和 .c 文件在同一个目录中。

我收到以下消息错误

undefined reference to `function'"

我应该使用另一个参数吗:

gcc -o nameoutput filename

还是应该将 library.h 放在另一个目录中?

【问题讨论】:

标签: c ubuntu gcc undefined-reference


【解决方案1】:

假设您的当前工​​作目录中有library.clibrary.hmain.c

$ gcc -Wall main.c library.c -o my_program

然后运行它:

$ ./my_program

【讨论】:

    【解决方案2】:

    “未定义引用”表示链接器找不到包含function的编译体的目标文件;它与 .h 文件没有任何关系。

    听起来您的情况是library.hlibrary.c 在一个目录中,而main.c 在另一个目录中。如果是这种情况,那么您的命令行将需要如下所示:

    gcc -o program -I /path/to/library main.c /path/to/library/library.c 
    

    -I /path/to/library 表示 gcc 将在该路径以及标准包含路径中查找 .h 文件。这也可以让你写

    #include "library.h"
    

    而不是

    #include "/path/to/library/library.h"
    

    在任何需要它的代码中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多