我正在尝试使用 Crypto++(使用 Code::Blocks)创建 C++ 程序,但一直遇到同样的问题。我正在使用此代码的精简版本:http://andreyvitdev.blogspot.com/2005/10/crypto-usage-sample.html ,但我无法编译它。
#include "cryptopp/blowfish.h"
#include "cryptopp/osrng.h"
using namespace CryptoPP;
int main (int argc, char** argv) {
byte key[Blowfish::DEFAULT_KEYLENGTH],
iv[Blowfish::BLOCKSIZE];
AutoSeededRandomPool rng (true);
rng.GenerateBlock(key, sizeof (key));
rng.GenerateBlock(iv, sizeof (iv));
}
我收到多个错误,从以下开始:“C:\Users\Utilisateur\Programming\C++\CodeBlocks\Crytp tester\main.cpp|13|对`CryptoPP::RandomNumberGenerator::GenerateBlock(unsigned char*,无符号整数)'"
我错过了什么吗?不同站点上有许多对必须导入的库的引用,但我无法弄清楚它们在 crypto++ 文件夹中的位置:http://www.cryptopp.com/#download
最佳答案
“ undefined reference ”是链接器错误 - 您没有构建 Crypto++ 库,或者没有告诉链接器链接到它。
不过,我不确定它是否会使用 MinGW(最常见的代码块编译器)进行构建。 Microsoft 编译器(以及 Visual Studio)是免费的;并使用 Code::Blocks 和 Crypto++ 进行显式测试。
关于c++ - Crypto++ Code::blocks undefined reference 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014392/