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

Error when executing C program using PostGreSQL libpq in Windows 10. (libssl-1_1-x64.dll and non-existent Avast antivirus)

我有一个 C 程序(在 VisualStudio 2019 中编译和构建),我想将其连接到 PostGreSQL 数据库。我包含了 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 有什么关系,考虑到我从未有过安装了这个防病毒软件,甚至在我的电脑上试过了。

如果有任何想法或帮助,我将不胜感激。

提前致谢

这看起来像是错误安装 OpenSSL 的副作用。 我从头开始 re-installed OpenSSL,错误消失了。