I also face the same problem with the same compiler as well.
Debugger told me dlltest failed because AutoSeededX917RNG<AES> commits
an access violation exception, which results in the crash of
X917RNG_KnownAnswerTest, inside its default constructor.
Further investigation shows that the actual problem comes from sse2-
asm code of the new implementation of CryptoPP::AES but I'm still
unable to figure out what's wrong.
So here are some workarounds you can consider until someone can
actually fix it:
a. Using another compiler to build CryptoPP (MSVC90 or even non-SP1
MSVC80 for example). I'm the one who think this may be a compiler bug
because: [1] release-shared variant still works well; [2] All DLLs I
built using gcc do not produce this problem with SSE2.
b. Building debug-shared CryptoPP library without SSE2. The easiest
way is to modify config.h as below:
#ifndef CRYPTOPP_CONFIG_H
#define CRYPTOPP_CONFIG_H
...
...
#ifdef CRYPTOPP_EXPORTS
# define CRYPTOPP_IS_DLL
# define CRYPTOPP_DLL __declspec(dllexport)
#elif defined(CRYPTOPP_IMPORTS)
# define CRYPTOPP_IS_DLL
# define CRYPTOPP_DLL __declspec(dllimport)
#else
# define CRYPTOPP_DLL
#endif
//Add the following lines to config.h
//Begin additional lines
#if (defined(_MSC_VER) && (_MSC_VER == 1400)) \ //MSVC80
&& defined(_DEBUG) \ //debug build
&& defined(CRYPTOPP_IS_DLL) \ //shared library
&& (CRYPTOPP_VERSION >= 560) //CryptoPP 5.5.2 and earlier doesnt
suffer from this problem
# ifndef CRYPTOPP_DISABLE_SSE2
# define CRYPTOPP_DISABLE_SSE2
# endif
# if CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE
# undef CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE
# define CRYPTOPP_BOOL_SSE2_ASM_AVAILABLE 0
# endif
# if CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE
# undef CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE
# define CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE 0
# endif
#endif /* _MSC_VER == 1400 && _DEBUG && CRYPTOPP_IS_DLL &&
CRYPTOPP_VERSION >= 560 */
//End additional lines
...
...
#endif /* CRYPTOPP_CONFIG_H */
c. Try an alternative (OpenSSL for example).
Hope this will help.
Regards,
An
On May 4, 9:08 pm, Luca Cappa <
lca...@gmail.com> wrote:
> Yes, i would have liked it was so easy. The crash happens before
> reaching the main function.
>
> Luca
>