Hello everyone,

I've tried to build Crypto++ 5.0 using Visual C++ 7.0 (.NET) and it failed
on a Custom Build Step! At the begging I couldn't find what may cause this
error because the project as itself has no any custom build steps set. Then
I found that adhoc.cpp.proto actually has one set. The command line script
was:
---
if not exist adhoc.cpp copy $(InputPath) adhoc.cpp
---
Everything looks fine, but if in your path (the evaluated $(InputPath) you
have any long name (>8.3 chars) it is required to quote it. So the proper
should be:
---
if not exist adhoc.cpp copy "$(InputPath)" adhoc.cpp
---
After I fixed the problem I check out the latest from CVS Repository and
found that it is even buggier! The script was changed to:
---
if exist adhoc.cpp touch adhoc.cpp
if not exist adhoc.cpp copy $(InputPath) adhoc.cpp
---
The first line uses a "touch" command witch is not a standard DOS shell
command (or I'm not aware of it) and fails. Even "touch" is implemented in
any 3-rd party command shell (suppose as the UNIX version is) what is the
purpose of this line?

Now the build succeeds, but the compiler posts bunch of warnings which might
not be problems but it is good to be handled explicitly in my opinion:
c:\Development\Crypto\Crypto++\c5\strciphr.cpp(102): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'unsigned int', possible loss of data
c:\Development\Crypto\Crypto++\c5\shark.cpp(31): warning C4244: 'argument' :
conversion from 'CryptoPP::word64' to 'CryptoPP::GF256::Element', possible
loss of data
c:\Development\Crypto\Crypto++\c5\strciphr.cpp(102): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'unsigned int', possible loss of data
c:\Development\Crypto\Crypto++\c5\seal.cpp(80): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'CryptoPP::word32', possible loss of
data
c:\Development\Crypto\Crypto++\c5\seal.cpp(81): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'CryptoPP::word32', possible loss of
data
c:\Development\Crypto\Crypto++\c5\seal.cpp(80): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'CryptoPP::word32', possible loss of
data
c:\Development\Crypto\Crypto++\c5\seal.cpp(81): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'CryptoPP::word32', possible loss of
data
c:\Development\Crypto\Crypto++\c5\strciphr.cpp(102): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'unsigned int', possible loss of data
c:\Development\Crypto\Crypto++\c5\strciphr.cpp(102): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'unsigned int', possible loss of data
c:\Development\Crypto\Crypto++\c5\strciphr.cpp(102): warning C4244: '=' :
conversion from 'CryptoPP::dword' to 'unsigned int', possible loss of data
c:\Development\Crypto\Crypto++\c5\ida.cpp(48): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\ida.cpp(97): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\ida.cpp(117): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\ida.cpp(129): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\ida.cpp(173): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\ida.cpp(218): warning C4018: '<' :
signed/unsigned mismatch
c:\Development\Crypto\Crypto++\c5\blumshub.cpp(44): warning C4244:
'argument' : conversion from 'CryptoPP::dword' to 'long', possible loss of
data

As you may know the CVS checkout gives you ready to use Visual C++ 6.0
project and workspace files. Visual C++ 7.0 (.NET) converts then to its new
format, but If you are interested as an attachment to this post you may find
Visual C++ 7.0 (.NET) project and solution files ready to be used (and have
the mentioned above problem fixed).

Regards,
Ivailo Petrov

Reply via email to