Thanks for your report. The "touch" command is needed if adhoc.cpp already
exists and is older than the adhoc.cpp.proto file. In that case, without
"touch" Visual C++ will think cryptest still needs to be built. I've
checked in a fix to CVS to replace "touch" with "echo: >> adhoc.cpp". This
isn't as clean (it adds an extra line end to adhoc.cpp) but you're right
that touch is not a standard DOS command. I've also fixed the missing 
quotes around $(InputPath).

I can't commit to having no warnings on all platforms, because sometimes
fixing a warning on one in a straightforward way causes greater problems
elsewhere (one example of this is the "typename" problem). But I promise
I'll fix the warnings when I upgrade my own development environment to VS
.NET.  In the mean time please either ignore them or just fix them
locally.

On Mon, Mar 03, 2003 at 11:49:48AM -0800, Ivailo Petrov wrote:
> 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