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.