当我试图在Botan C ++中创建RSA_PrivateKey对象时,编译器抱怨未定义引用std :: thread :: _ State ::〜_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库添加为静态库。我通过右键单击项目文件夹>添加库>外部库来做到这一点。我试图在调试中进行编译。
操作系统:Windows 7
编译器:Qt 5.11.2 MinGW 32位
答案 0 :(得分:0)
您应该创建Botan::RSA_PrivateKey
的实例:
Botan::RSA_PrivateKey rsa(*rng.get(),1024);