> We have a new release candidate available at
> https://www.cryptopp.com/cryptopp563rc1.zip. Here are the checksums:
>
> $ md5sum cryptopp563rc1.zip
> a33dd656de4567e02e64704b92820f9f
>
> $ sha1sum cryptopp563rc1.zip
> dd6f54fb68d4133f23dff85d0b106a1053058ad8
>
> $ sha256sum cryptopp563rc1.zip
> 5628e248291a8f238f0d929d7d956fb4ccf836d65958172de11488b9cd1abc4a
>
> RC1 performs more warning cleanup under Visual Studio.
>
> I just compiled it and was *very* impressed. The number of warnings
> reduced from 3.5k+ down to 5/9 :) Really good job there. Although it looks
> like you just suppressed them ;)
>
> It also clears some issues raised by Enterprise Analysis (/analyze).
> Finally, RC1 clears a Multiarch/Fat binary issue under OS X.
>
> There's a diff in the ZIP describing precisely what changed from Crypto++
> 5.6.2 (version 5.6.2 was SVN revision 541).
>
> Please report any problems you encounter.
>
> We still don't get a clean compile on VS 2015 though.
>
Here's what the release notes have to say:
* cleared most MSVC warnings with /W4
We don't claim we cleared all of them.
We still need to clean those LNK4221s which can be done by simply adding
> the required line (exclude from build) to the paths in cryptlib.vcproj for
> all configurations of strciphr.cpp, simple.cpp, polynomi.cpp, algebra.cpp,
> like already done for eccrypto.cpp. It doesn't work for me doing this with
> an editor though so we'd have to use something like VS2005 (the least
> version we still support) to set the flags.
>
This issue finds its roots in C++ compiler workarounds in the 1990s. I
recall this issue because I was doing my CompSci undergrad work at the
time, and I used Visual Studio 5.0. There was an MSDN article that stated
to include the implementation in the header so the compiler could find the
bodies/implementations:
// eccrypto.h
class SomeECCryptoClass
{
...
}
#include eccrytpo.cpp
Then, in eccrypto.cpp::
// The implementation
SomeECCryptoClass::SomeECCryptoClass() { ... }
> We also get a strange warning on algparam.h line 35 (C4459) "declaration
> of 'cryptopp_assert_35' hides global declaration", there seems to be no
> official MS documentation about this one though. I've no clue about to fix
> this one as it references StringSource and fipstest.cpp line 35 which is a
> CRYPTOPP_COMPILE_ASSERT.
>
Yeah, that one is kind of odd. It seems to be a one-off, so its a lower
priority at the moment.
> I'm sad to have to tell you that the 64-bit builds of *all* projects
> except cryptlib (=cryptest, cryptopp) are broken and result in a bunch of
> "error LNK2001: unresolved external symbol ...". I suspect that dlltest
> works because it doesn't link any of the affected functions.
>
>From the README:
*** MSVC-Specific Information ***
On Windows, Crypto++ can be compiled into 3 forms: a static library
including all algorithms, a DLL with only FIPS Approved algorithms, and
a static library with only algorithms not in the DLL.
(FIPS Approved means Approved according to the FIPS 140-2 standard.)
The DLL may be used by itself, or it may be used together with the
second
form of the static library. MSVC project files are included to build
all three forms, and sample applications using each of the three forms
are also included.
To compile Crypto++ with MSVC, open the "cryptest.dsw" (for MSVC 6 and
MSVC .NET
2003) or "cryptest.sln" (for MSVC 2005 - 2010) workspace file and build
one or
more of the following projects:
cryptopp - This builds the DLL. Please note that if you wish to use
Crypto++
as a FIPS validated module, you must use a pre-built DLL that has
undergone
the FIPS validation process instead of building your own.
dlltest - This builds a sample application that only uses the DLL.
cryptest Non-DLL-Import Configuration - This builds the full static
library
along with a full test driver.
cryptest DLL-Import Configuration - This builds a static library
containing
only algorithms not in the DLL, along with a full test driver that
uses
both the DLL and the static library.
I'm not really going to spend any time on the DLL projects because its an
evolutionary dead end. If you want a DLL, then wrap the static library
after changing /MT or /MTd to /MD or /MDd in the Cryptlib project.
Jeff
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
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.