LNK2019无法链接visual studio中的静态库

时间:2018-06-11 18:22:21

标签: c++ visual-studio linker

我阅读了很多与LNK2019相关的问题。但我仍然对我的情况感到困惑。如果我错过了一些明显的东西,我会道歉。

我尝试使用wolfssl库。这是C库。这是我试图在VS 2017中构建的我的c ++代码:

extern "C" {
#include <wolfssl/wolfcrypt/sha3.h>


int main() {
    Sha3  sha3;
    wc_InitSha3_256(&sha3, NULL, 0);

    return 0;
}
}
我得到了 错误LNK2019未解析的外部符号_wc_InitSha3_256

我执行了下一步:

  1. 我从源头重建了狼人。
  2. 我确保lib包含_wc_InitSha3_256
  3. 我添加了属性中的lib文件的完整路径 - >链接器 - >输入 - >附加依赖项(路径中没有空格)
  4. 我用extern“C”
  5. 包裹了我的代码
  6. 我尝试使用管理员权限运行VS
  7. 仍然有同样的错误。有什么想法吗?

    更新: 要_wc_InitSha3_256()定义符号WOLFSSL_SHA3

    我的链接配置: My link configuration

1 个答案:

答案 0 :(得分:1)

@Stephan,

我看到您找到了正确的答案。对于其他阅读此内容的人来说,关于未解析的外部符号wc_InitSha3_256的此问题的解决方案是将预处理器标志WOLFSSL_SHA3添加到您的设置中。这可以在PreProcessor下的Visual Studio项目设置中完成,也可以通过添加wolfssl-root/IDE/WIN/user_settings.h并重新构建Visual Studio项目来更新#define WOLFSSL_SHA3中的设置。有关使用wolfSSL Windows解决方案的其他文档,请访问wolfSSL网站的“文档”选项卡下,并在“技术文档”部分下查找名为“带有Visual Studio的wolfSSL”的文档。下面提供了链接:

https://www.wolfssl.com/docs/visual-studio/

对于与wolfSSL产品有关的任何将来的问题,如果您在问题中添加标志“ wolfssl”,我们的工程师会定期检查堆栈溢出以查找新问题,并乐意发布答案!如果您的问题没有得到解答,您也可以随时通过Wolfssl [dot] com直接与我们联系。只需向我们发送指向堆栈溢出问题的链接,我们非常乐于研究它!