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

问题描述

我有一个C程序(在Visual Studio 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防病毒软件有关的奇怪错误。我从未在PC上安装过该软件:

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的副作用。 我从头开始重新安装了OpenSSL,错误消失了。