c++ MingW缺少Win32 Crypto API中的一些函数

jbose2ul  于 2023-04-13  发布在  其他
关注(0)|答案(2)|浏览(181)

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

lmvvr0a8

lmvvr0a81#

您需要动态链接到crypt32.dll。您可以在运行时使用Win32 API函数LoadLibrary + GetProcAddress,或在编译时使用import library
对于运行时绑定,MSDN有一个good example

**EDIT:**如果你需要一堆MinGW头文件中没有的API函数,可以去导入库。

oipij1gg

oipij1gg2#

我也遇到了同样的问题。下载并安装Windows SDK
现在调用链接器:

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

相关问题