zoukankan      html  css  js  c++  java
  • ERR : undefined reference to something

    序言:

    define : 定义。相信你用过 #define PI 3.141592653 (千万记得别在这句代码后加分号)

    reference : 引用  

    undefined reference to something 的意思就是说,你在代码里用了一个没有定义的 something 。

    链接时可能会引发这种错误的情况:

    1 链接时缺失了相关的目标文件(.o)

    2 链接时缺少相关的库文件(.a/.so)

    3 链接的库文件中又使用了另一个库文件

    4 多个库文件链接顺序

    5 在C++的代码中链接C语言的库

    详情:

    1 链接时缺失了相关的目标文件(.o)

    测试代码如下:

    //main.c

    int
    main() {
    test(); }
    //test.c
    
    #include<stdio.h>
    void test()
    {
        printf("lover
    ");
    }  

    编译:

    gcc -o main main.c //缺少test()的实现文件

    会报如下错误:

    main.c: In function `main':
    main.c:(.text+0x7): undefined reference to `test'
    collect2: ld returned 1 exit status

    这就是最典型的undefined reference错误,因为在链接时发现找不到某个函数的实现文件,本例中test.o文件中包
    含了test()函数的实现,所以如果按下面这种方式链接就没事了 。

    gcc -o main main.c test.c //ok,没问题了

    TODO

  • 相关阅读:
    oracle分区表总结
    Oracle AMDU用法
    sql_patch用法
    oracle resource_managed限制个人用户使用并行
    oracle 服务的故障转移测试
    RAC修改public ip,vip,priv_ip,sacn_ip
    oracle tfactl使用 TFA
    oracle dbms_metadata.get_ddl使用总结
    Oracle分析函数总结
    继承与接口的区别
  • 原文地址:https://www.cnblogs.com/wangboqi/p/7475782.html
Copyright © 2011-2022 走看看