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
