创建RSA_PrivateKey时对“ std :: thread :: _ St​​ate ::〜_State()”的未定义引用

时间:2019-05-12 10:29:02

标签: c++ qt botan

当我试图在Botan C ++中创建RSA_PrivateKey对象时,编译器抱怨未定义引用std :: thread :: _ St​​ate ::〜_State()。

#include <QCoreApplication>
#include <botan/rsa.h>
#include <botan/auto_rng.h>
#include <iostream>

using std::cout;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::unique_ptr<Botan::RandomNumberGenerator> rng(new Botan::AutoSeeded_RNG);
cout << rng->name();

// this line caused the error
 std::unique_ptr<Botan::RSA_PrivateKey> theKey(new Botan::RSA_PrivateKey(*rng.get(),1024));

return a.exec();
}

错误显示如下: Error when creating RSA_PrivateKey in Botan

我真的不确定为什么编译器会抱怨。我需要帮助,在此先感谢。

我使用“ .a”文件将botan库添加为静态库。我通过右键单击项目文件夹>添加库>外部库来做到这一点。我试图在调试中进行编译。

Added botan like this

操作系统:Windows 7

编译器:Qt 5.11.2 MinGW 32位

1 个答案:

答案 0 :(得分:0)

您应该创建Botan::RSA_PrivateKey的实例:

Botan::RSA_PrivateKey rsa(*rng.get(),1024);