m0_73657801 2024-11-20 14:10 采纳率: 50%
浏览 12

libTomCrypt密码算法库

libTomCrypt密码算法库编译时遇到问题,显示 错误 LNK2019 无法解析的外部符号 find_hash,函数 main 中引用了该符号,库那些安装都已经安好了,也在项目属性中配好了,但是一直出现这个问题,不知道怎么解决,谢谢大家们 哭

img

  • 写回答

2条回答 默认 最新

  • 图苑 2024-11-20 17:49
    关注

    通常是因为链接器没找到这个函数的实现。咱们一步一步来解决这个问题:

    首先,检查一下你的项目是否包含了 libTomCrypt 库的所有源文件,特别是那个定义了 find_hash 函数的文件。这些文件通常在 src/ 目录下,确保它们都被添加到了你的项目里。

    然后,确保你在项目属性中正确配置了库文件的路径和名称。在 Visual Studio 里,你可以这样做:

    • 打开项目的属性,找到“链接器” -> “输入” -> “附加依赖项”,确保这里添加了 tomcrypt.lib(假设你已经生成了这个静态库文件)。

    还要确认你的项目能找到 libTomCrypt 的头文件。在“项目属性” -> “C/C++” -> “常规” -> “附加包含目录”中,添加 libTomCrypt 头文件所在的目录。

    确认 find_hash 函数在 libTomCrypt 的头文件中被正确声明,并且在源文件中被正确定义。可以在 libTomCrypt 的文档或源代码中查找相关声明和定义。

    有时候旧的编译结果会导致问题,可以试试清理项目:
    在 Visual Studio 中,选择“Build” -> “Clean Solution”; 然后再重新构建项目:“Build” -> “Rebuild Solution”。

    确保所有必要的预处理器宏都被定义了。有些函数可能需要特定的宏才能被编译进来,可以在 libTomCrypt 的文档中查找相关信息。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月20日