首页 > 解决方案 > 在 Windows 10 中使用 PostGreSQL libpq 执行 C 程序时出错。(libssl-1_1-x64.dll 和不存在的 Avast 防病毒软件)

问题描述

我有一个 C 程序(在 VisualStudio 2019 中编译和构建),我想将它连接到 PostGreSQL DB。我包含了 libpq 头文件,将 DLL 放在正确的位置等。编译和构建操作完成,没有错误。但是,当我尝试执行此功能时,出现错误。

int pgTest() {

    int libpq_ver = PQlibVersion();

    printf("%i\n", libpq_ver);
    return EXIT_SUCCESS;
}

在调试模式下,我可以在调试控制台中看到这个错误:

C:\Users\JohnDoe\Documents\foo.exe (process 21388) exited with code -1072365566.
Activation context generation failed for "C:\WINDOWS\SYSTEM32\libssl-1_1-x64.dll". Dependent Assembly 

我还检查了 EventViewer,令人惊讶的是,我发现了一个与 Avast 防病毒软件相关的奇怪错误。我从来没有在我的电脑上安装过:

Activation context generation failed for "C:\WINDOWS\SYSTEM32\libssl-1_1-x64.dll". Dependent Assembly Avast.VC140.CRT,processorArchitecture="amd64",publicKeyToken="fcc99ee6193ebbca",type="win32",version="14.0.23918.0" could not be found. Please use sxstrace.exe for detailed diagnosis.

抱歉,如果错误看起来令人困惑,这就是我问你的原因,因为我无法想象 libssl-1_1-x64.dll 与 Avast 有什么关系,考虑到我从未安装过这个防病毒软件,甚至没有尝试过我的电脑。

我将不胜感激任何想法或帮助。

提前致谢

标签: cpostgresqlvisual-studio-2019libpqlibssl

解决方案


它看起来像是错误安装 OpenSSL 的副作用。我从头开始重新安装 OpenSSL,错误消失了。


推荐阅读