Unresolved external symbol when using Crypto++ 8.6 as dll

43 views
Skip to first unread message

Benjamin Mahr

unread,
Jun 8, 2022, 3:12:54 AM6/8/22
to Crypto++ Users
I have to add crypto++ as dll into our project. The project is using several functions of crypto++ but a few used give an "unresolved extern symbol" linking error:
CryptoPP::DSAConvertSignatureFormat
CryptoPP::Base64Encoder::IsolatedInitialize
CryptoPP::Base64Decoder::GetDecodingLookupArray

Clearly, this can't work because non of those functions have CRYPTOPP_DLL set. Is this by intention? Which functions should we call instead?

Best regards,
Ben

Jeffrey Walton

unread,
Jun 8, 2022, 10:42:31 AM6/8/22
to Crypto++ Users List
On Wed, Jun 8, 2022 at 3:12 AM Benjamin Mahr <ben....@gmail.com> wrote:
>
> I have to add crypto++ as dll into our project. The project is using several functions of crypto++ but a few used give an "unresolved extern symbol" linking error:
> CryptoPP::DSAConvertSignatureFormat
> CryptoPP::Base64Encoder::IsolatedInitialize
> CryptoPP::Base64Decoder::GetDecodingLookupArray
>
> Clearly, this can't work because none of those functions have CRYPTOPP_DLL set. Is this by intention?

Yes, this is by design. Also see https://cryptopp.com/wiki/FIPS_DLL

> Which functions should we call instead?

You still have to link to cryptlib.lib for the missing functions.

If you want to continue with the FIPS DLL, then see the preprocessor
defines that are set in cryptdll and dlltest projects.

Jeff
Reply all
Reply to author
Forward
0 new messages