我正在使用Crypto ++加密C ++中的文件。我正在使用下面的代码。
它不包含头文件,所以我添加了自己的文件:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
#include <cryptopp/cryptlib.h>
#include <cryptopp/sha.h>
#include <cryptopp/secblock.h>
#include <cryptopp/files.h>
#include <cryptopp/queue.h>
#include <cryptopp/hex.h>
#include <cryptopp/base64.h>
#include <cryptopp/filters.h>
#include <cryptopp/osrng.h>
#include <cryptopp/integer.h>
#include <cryptopp/dh.h>
#include <cryptopp/sha.h>
#include <cryptopp/modes.h>
#include <cryptopp/eax.h>
#include <cryptopp/tea.h>
#include <cryptopp/blowfish.h>
#include <cryptopp/pssr.h>
#include <cryptopp/rsa.h>
#include <cryptopp/nbtheory.h>
#include <cryptopp/eccrypto.h>
#include <cryptopp/oids.h>
#include <cryptopp/modes.h>
#include <cryptopp/gzip.h>
#include <cryptopp/blowfish.h>
#include <cryptopp/rsa.h>
#include <cryptopp/rng.h>
#include <cryptopp/cryptlib.h>
#include <cryptopp/filters.h>
#include <cryptopp/rdrand.h>
using namespace std;
using namespace CryptoPP;
但不幸的是,该代码无法正常工作
说没有声明GlobalRNG!
error: ‘GlobalRNG’ was not declared in this scope
我用谷歌搜索并持续寻找解决方案两天,我发现这是一个错误并已修复,但是我拥有最新版本:5.6.3!
所以我真的不知道为什么会显示此错误!
最佳答案
在版本5.6.3中,在文件GlobalRNG
中将validate.h
定义为:
// Functions that need a RNG; uses AES inf CFB mode with Seed.
CryptoPP::RandomNumberGenerator & GlobalRNG();
只需添加以下内容:
#include <cryptopp/validate.h>
解决定义问题。
关于c++ - 错误:在此范围内未声明“GlobalRNG”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39318776/