The interesting thing is that I can successfully compile and run with the 
crypto.lib and include these header files in a cpp file:

#include "modes.h"
#include "aes.h"
#include "filters.h"

and this code:
    byte key[CryptoPP::AES::MAX_KEYLENGTH]; // 32 bytes
    byte iv[CryptoPP::AES::BLOCKSIZE];

but as soon as I add this line, I get all those errors:

CryptoPP::AES::Encryption aesEncryption(key, CryptoPP::AES::MAX_KEYLENGTH);


On Monday, April 30, 2018 at 6:58:49 AM UTC-5, darrin donahue wrote:
>
> I double checked and I had previously done that, at least I think I did it 
> correctly.  Then I built the lib and used it in the other project and am 
> seeing these errors.
>
> On Sunday, April 29, 2018 at 2:01:59 PM UTC-5, Jeffrey Walton wrote:
>>
>> On Sun, Apr 29, 2018 at 7:21 AM, darrin donahue <[email protected]> 
>> wrote: 
>> > Thank you so much Jeffrey!  Turns out you are right; I had an older 
>> library 
>> > in another directory that was getting picked up first.  I have now 
>> fixed 
>> > that. 
>> > 
>> > Can I ask you another question or should I do a 2nd post?  I am 
>> actually 
>> > getting about 565 linker errors similar to: 
>> > 
>> > error LNK2005: "public: __thiscall std::basic_string<char,struct 
>> > std::char_traits<char>,class std::allocator<char> 
>> >>::basic_string<char,struct std::char_traits<char>,class 
>> > std::allocator<char> >(class std::basic_string<char,struct 
>> > std::char_traits<char>,class std::allocator<char> > &&)" 
>> > 
>> (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z)
>>  
>>
>> > already defined in 
>> > dicore_d.lib(DICORE_d.dll) 
>> C:\WorkAreas\TADESKTOP\TaGUI\cryptlib_d.lib(cryptlib.obj) TaGui 
>> > 
>> > 
>> > I can get rid of them by adding the following link option: 
>>  /FORCE:MULTIPLE 
>> > but it does give me 565 Warnings similar to: 
>> > 
>> > warning LNK4006: "public: __thiscall std::basic_string<char,struct 
>> > std::char_traits<char>,class std::allocator<char> 
>> >>::basic_string<char,struct std::char_traits<char>,class 
>> > std::allocator<char> >(class std::basic_string<char,struct 
>> > std::char_traits<char>,class std::allocator<char> > &&)" 
>> > 
>> (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z)
>>  
>>
>> > already defined in dicore_d.lib(DICORE_d.dll); second definition 
>> ignored 
>> > C:\WorkAreas\TADESKTOP\TaGUI\cryptlib_d.lib(cryptlib.obj) TaGui 
>> > 
>> > 
>> > It sounds like there are 2 projects both pulling in the string classes. 
>>  Is 
>> > /FORCE:MULTIPLE   the right solution or is there something else? 
>>
>> This issue sounds like mixing/matching runtime libraries. You probably 
>> need to rebuild Crypto++ and use dynamic C++ runtime linking this 
>> time. 
>>
>> Also see 
>> https://www.cryptopp.com/wiki/Visual_Studio#Dynamic_Runtime_Linking . 
>>
>> Jeff 
>>
>

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to