MingW缺少Win32加密API的一些功能

时间:2011-12-16 16:09:00

标签: c++ winapi cryptography mingw

我需要使用Win32 Crypto API中的一些函数,例如CryptQueryObject。问题是我还需要用MingW编译我的程序,并且包含的​​crypto库缺少我需要的一些函数,比如前面提到的CryptQueryObject。我尝试复制相关的C头定义,以便程序现在编译,但在链接时它失败了未定义的引用错误(因为mingw的crypt32.dll没有实现某些功能)。我尝试链接C:\ Windows \ System32 \ crypt32.dll,但它仍然返回链接错误。

有没有办法在mingw中使用整个Crypto API?

2 个答案:

答案 0 :(得分:2)

您需要动态链接到crypt32.dll。您可以在运行时执行此操作 使用Win32 API函数LoadLibrary + GetProcAddress,或在编译时使用import library

对于运行时绑定,MSDN有一个good example

编辑:如果您需要MinGW标头中没有的一系列API函数,请转到导入库。

答案 1 :(得分:1)

我遇到了同样的问题。下载并安装Windows SDK

现在调用链接器:

gcc -L"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\arm" -o "Test"  ./main.o -lcrypt32