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
