You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Anton Pevtsov <an...@moscow.vdiweb.com> on 2005/12/30 15:27:53 UTC

Solution generation scripts for MSVC-8.0

The attached archive contains latest version of the solution generation scripts. Now they support the solution generation for MSVC-8.0 (configuration msvc-8.0).
Martin, try it, please and if it works correctly I'll prepare the patch.

There is an issue with the MSVC-8.0 build:
The library build summary log contains a lot of compilation warnings. There are two types of them:

1) ..\..\..\src\exception.cpp(508) : warning C4996: '_vsnprintf' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\include\../include/stdio.h(339) : see declaration of '_vsnprintf'
        Message: 'This function or variable may be unsafe. Consider using _vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'

The cause of this warning is that there is new secure version of the _vsnprintf' function: _vsnprintf_s. Martin, should we add _CRT_SECURE_NO_DEPRECATE to the library defines to eliminate this warning (this is easy) or should we consider using _vsnprintf_s instead of _vsnprintf' ?

2) ..\..\..\src\file.cpp(293) : warning C4996: 'open' was declared deprecated
        C:\Program Files\Microsoft Visual Studio 8\VC\include\io.h(328) : see declaration of 'open'
        Message: 'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.'

It is possible to hide this warning using the pragma directive (something like this: #pragma warning(disable : 4996) ). Martin, what do you think about it?


Prerequisites for MSVC-8.0: 
1. Add path to uuidgen and vsvars32 utilities to your PATH environment variable.
2. Execute vsvars32 before the building.

Also I added the COPYDLL option. If it set to "yes" or "y" all executables projects (examples and tests) will copy the library dll to the executable's folder via the post-build step (the previous scripts versions operates in this way). And if COPYDLL is not specified the dll will not be copied (but the examples and tests runner scripts will temporary copy it to run examples and tests).


With best wishes,
Anton Pevtsov.


Re: Solution generation scripts for MSVC-8.0

Posted by Andrew Black <ab...@roguewave.com>.
Greetings Anton

For MSVC-8.0 builds of the standard library within the RCB 
infrastructure used by SourcePro, we utilize the 
-D_CRT_SECURE_NO_DEPRECATE compiler flag.  There were several 
discussions regarding these warnings when we added support for MSVC-8.0, 
and the concensus was to go the route of adding the flag to the compile 
flags.

--Andrew Black
SourcePro developer

Anton Pevtsov wrote:

> The attached archive contains latest version of the solution 
> generation scripts. Now they support the solution generation for 
> MSVC-8.0 (configuration msvc-8.0).
> Martin, try it, please and if it works correctly I'll prepare the patch.
>
> There is an issue with the MSVC-8.0 build:
> The library build summary log contains a lot of compilation warnings. 
> There are two types of them:
>
> 1) ..\..\..\src\exception.cpp(508) : warning C4996: '_vsnprintf' was 
> declared deprecated
>        C:\Program Files\Microsoft Visual Studio 
> 8\VC\include\../include/stdio.h(339) : see declaration of '_vsnprintf'
>        Message: 'This function or variable may be unsafe. Consider 
> using _vsnprintf_s instead. To disable deprecation, use 
> _CRT_SECURE_NO_DEPRECATE. See online help for details.'
>
> The cause of this warning is that there is new secure version of the 
> _vsnprintf' function: _vsnprintf_s. Martin, should we add 
> _CRT_SECURE_NO_DEPRECATE to the library defines to eliminate this 
> warning (this is easy) or should we consider using _vsnprintf_s 
> instead of _vsnprintf' ?
>
> 2) ..\..\..\src\file.cpp(293) : warning C4996: 'open' was declared 
> deprecated
>        C:\Program Files\Microsoft Visual Studio 8\VC\include\io.h(328) 
> : see declaration of 'open'
>        Message: 'The POSIX name for this item is deprecated. Instead, 
> use the ISO C++ conformant name: _open. See online help for details.'
>
> It is possible to hide this warning using the pragma directive 
> (something like this: #pragma warning(disable : 4996) ). Martin, what 
> do you think about it?
>
>
> Prerequisites for MSVC-8.0: 1. Add path to uuidgen and vsvars32 
> utilities to your PATH environment variable.
> 2. Execute vsvars32 before the building.
>
> Also I added the COPYDLL option. If it set to "yes" or "y" all 
> executables projects (examples and tests) will copy the library dll to 
> the executable's folder via the post-build step (the previous scripts 
> versions operates in this way). And if COPYDLL is not specified the 
> dll will not be copied (but the examples and tests runner scripts will 
> temporary copy it to run examples and tests).
>
>
> With best wishes,
> Anton Pevtsov.
>
>