ChiLi_Lin 2020-01-28 16:07 采纳率: 60%
浏览 1244
已采纳

C/C++ 静态库的函数找不到 LNK2019 无法解析的外部符号 "int __cdecl Lib_Test(void)" (?Lib_Test@@YAHXZ),该符号在函数 _main 中被引用

附加包含目录,附加依赖项都添加了。
但就是静态库中定义的变量或者宏都可以用,函数却说找不到。
报错如下:静态库的函数找不到 LNK2019 无法解析的外部符号 "int __cdecl Lib_Test(void)" (?Lib_Test@@YAHXZ),该符号在函数 _main 中被引用

静态库 头文件

// libtest.h

#ifndef __HEAD_LIBTEST__
#define __HEAD_LIBTEST__

int TestValue = 1;

extern int Lib_Test();

#endif

源文件

//libtest.c
#include "libtest.h"

int Lib_Test()
{
    ++TestValue;
    return TestValue;
}

使用


#include "pch.h"
#include <iostream>
#include "libtest.h"

int main()
{
    std::cout << "Hello World!\n";
    // 下面调用Lib_Test 找不到符号
    Lib_Test();
    // 下面直接调用静态库变量 正确
    std::cout << TestValue;
    std::cout << "\nHello World!\n";
}

测试工程:
链接: https://pan.baidu.com/s/1GK57f7yYlIdEXTDFd-OVUg
提取码: h32m

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-01-28 16:49
    关注

    int Lib_Test();
    ->
    extern int Lib_Test();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Chris_Mill 2021-04-22 15:26
    关注

    请问解决了嘛  好难呀。

     

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab有svec这个函数吗?
  • ¥15 无法调用VideoWriter_fourcc
  • ¥15 VB6.0无法加载网页验证码图片到picturebox中,求解。
  • ¥15 C#和GDAL对栅格处理
  • ¥15 我现在有一些关于提升机故障的专有文本数据,量也不多,我在label studio上进行了关系和实体的标注,完成了知识图谱的构造,那么我使用生成式模型的话,我能做哪些工作来写我的论文?
  • ¥15 电脑连不上无线网络如下诊断反馈应该如何操作
  • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部