Crypto ++ Code :: blocks未定义的引用问题

时间:2011-08-10 16:31:41

标签: c++ reference undefined codeblocks crypto++

我正在尝试使用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 *, unsigned int)'“

我错过了什么吗?在不同站点上有许多必须导入的库的引用,但我无法弄清楚它们在crypto ++文件夹中的位置:http://www.cryptopp.com/#download

1 个答案:

答案 0 :(得分:4)

“未定义的引用”是一个链接器错误 - 要么您没有构建Crypto ++库,要么没有告诉链接器链接到它。

如果它使用MinGW(最常见的编码器编译器)构建,我不肯定。 Microsoft编译器(以及Visual Studio)是免费的;并使用Code :: Blocks和Crypto ++进行显式测试。