Using Visual C++ 2008 Express Edition like BrowserUk, I get some of the warnings he gets ("The POSIX name for this item is deprecated", and "This function or variable may be unsafe") but neither the "conversion from 'size_t' to 'int'" warnings nor the test failures.
I have a newer build of the compiler (15.00.30729.01) but I suspect the problem is related in BrowserUk's 64-bit setup. I run WinXP on a 32-bit machine. If so, the conversion warnings probably point to the problem.
( Or maybe not. cdarke has the problem on a 32-bit setup )
Visual C++ 2008 Express Edition:
C:\stager\Time-Piece-1.16>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01
+for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
C:\stager\Time-Piece-1.16>perl -v
This is perl, v5.10.1 built for MSWin32-x86-multi-thread
(with 2 registered patches, see perl -V for more detail)
Copyright 1987-2009, Larry Wall
Binary build 1006 [291086] provided by ActiveState http://www.ActiveSt
+ate.com
Built Aug 24 2009 13:48:26
Perl may be copied only under the terms of either the Artistic License
+ or the
GNU General Public License, which may be found in the Perl 5 source ki
+t.
Complete documentation for Perl, including FAQ lists, should be found
+on
this system using "man perl" or "perldoc perl". If you have access to
+ the
Internet, point your browser at http://www.perl.org/, the Perl Home Pa
+ge.
C:\stager\Time-Piece-1.16>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Time::Piece
C:\stager\Time-Piece-1.16>nmake test
Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
cp Seconds.pm blib\lib\Time\Seconds.pm
cp Piece.pm blib\lib\Time\Piece.pm
C:\progs\perl5101\bin\perl.exe C:\Progs\perl5101\lib\ExtUtils\
+xsubpp -typemap C:\progs\perl5101\lib\ExtUtils\typemap Piece.xs > P
+iece.xsc && C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "mv
+" -- Piece.xsc Piece.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSO
+LE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_I
+N_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL
+_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"1.16\" -DXS_VERS
+ION=\"1.16\" "-IC:\progs\perl5101\lib\CORE" Piece.c
Piece.c
Piece.xs(145) : warning C4996: 'getenv': This function or variable may
+ be unsafe. Consider using _dupenv_s instead. To disable deprecation,
+ use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\stdlib.h(447)
+: see declaration of 'getenv'
Piece.xs(153) : warning C4996: 'sprintf': This function or variable ma
+y be unsafe. Consider using sprintf_s instead. To disable deprecation
+, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(366) :
+ see declaration of 'sprintf'
Piece.xs(154) : warning C4996: 'putenv': The POSIX name for this item
+is deprecated. Instead, use the ISO C++ conformant name: _putenv. See
+ online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\stdlib.h(864)
+: see declaration of 'putenv'
Piece.xs(178) : warning C4996: 'tzset': The POSIX name for this item i
+s deprecated. Instead, use the ISO C++ conformant name: _tzset. See o
+nline help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\time.h(284) :
+see declaration of 'tzset'
Piece.xs(672) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(682) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(700) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(706) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(795) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(803) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(809) : warning C4996: 'strnicmp': The POSIX name for this ite
+m is deprecated. Instead, use the ISO C++ conformant name: _strnicmp.
+ See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(217)
+: see declaration of 'strnicmp'
Piece.xs(878) : warning C4996: 'strncpy': This function or variable ma
+y be unsafe. Consider using strncpy_s instead. To disable deprecation
+, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\string.h(157)
+: see declaration of 'strncpy'
Piece.xs(1041) : warning C4996: 'gmtime': This function or variable ma
+y be unsafe. Consider using gmtime_s instead. To disable deprecation,
+ use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\time.inl(101)
+: see declaration of 'gmtime'
Piece.xs(1081) : warning C4996: 'gmtime': This function or variable ma
+y be unsafe. Consider using gmtime_s instead. To disable deprecation,
+ use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Progs\Microsoft Visual Studio 9.0\VC\INCLUDE\time.inl(101)
+: see declaration of 'gmtime'
Running Mkbootstrap for Time::Piece ()
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 644 Piece.bs
C:\progs\perl5101\bin\perl.exe -MExtUtils::Mksymlists -e "Mks
+ymlists('NAME'=>\"Time::Piece\", 'DLBASE' => 'Piece', 'DL_FUNCS' => {
+ }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Time\Piece\Piece.dll -dll -nologo -no
+defaultlib -debug -opt:ref,icf -libpath:"C:\progs\perl5101\lib\CORE"
+ -machine:x86 Piece.obj C:\progs\perl5101\lib\CORE\perl510.lib old
+names.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.li
+b advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.
+lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
+ msvcrt.lib -def:Piece.def
Creating library blib\arch\auto\Time\Piece\Piece.lib and object bli
+b\arch\auto\Time\Piece\Piece.exp
if exist blib\arch\auto\Time\Piece\Piece.dll.manifest mt -nolo
+go -manifest blib\arch\auto\Time\Piece\Piece.dll.manifest -outputreso
+urce:blib\arch\auto\Time\Piece\Piece.dll;2
if exist blib\arch\auto\Time\Piece\Piece.dll.manifest del blib
+\arch\auto\Time\Piece\Piece.dll.manifest
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 755 blib\arch\auto\Time\Piece\Piece.dll
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "cp" --
+Piece.bs blib\arch\auto\Time\Piece\Piece.bs
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 644 blib\arch\auto\Time\Piece\Piece.bs
C:\progs\perl5101\bin\perl.exe "-MExtUtils::Command::MM" "-e"
+"test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01base.t ...... ok
t/02core.t ...... ok
t/03compare.t ... ok
t/04mjd.t ....... ok
t/05overload.t .. ok
t/06subclass.t .. ok
t/07arith.t ..... ok
All tests successful.
Files=7, Tests=156, 3 wallclock secs ( 0.06 usr + 0.05 sys = 0.11 C
+PU)
Result: PASS
Visual Studio 6:
C:\stager\Time-Piece-1.16>cl
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for
+80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
C:\stager\Time-Piece-1.16>perl -v
This is perl, v5.10.1 built for MSWin32-x86-multi-thread
(with 2 registered patches, see perl -V for more detail)
Copyright 1987-2009, Larry Wall
Binary build 1006 [291086] provided by ActiveState http://www.ActiveSt
+ate.com
Built Aug 24 2009 13:48:26
Perl may be copied only under the terms of either the Artistic License
+ or the
GNU General Public License, which may be found in the Perl 5 source ki
+t.
Complete documentation for Perl, including FAQ lists, should be found
+on
this system using "man perl" or "perldoc perl". If you have access to
+ the
Internet, point your browser at http://www.perl.org/, the Perl Home Pa
+ge.
C:\stager\Time-Piece-1.16>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Time::Piece
C:\stager\Time-Piece-1.16>nmake test
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
cp Seconds.pm blib\lib\Time\Seconds.pm
cp Piece.pm blib\lib\Time\Piece.pm
C:\progs\perl5101\bin\perl.exe C:\Progs\perl5101\lib\ExtUtils\
+xsubpp -typemap C:\progs\perl5101\lib\ExtUtils\typemap Piece.xs > P
+iece.xsc && C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "mv
+" -- Piece.xsc Piece.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSO
+LE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_I
+N_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL
+_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"1.16\" -DXS_VERS
+ION=\"1.16\" "-IC:\progs\perl5101\lib\CORE" Piece.c
Piece.c
Running Mkbootstrap for Time::Piece ()
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 644 Piece.bs
C:\progs\perl5101\bin\perl.exe -MExtUtils::Mksymlists -e "Mks
+ymlists('NAME'=>\"Time::Piece\", 'DLBASE' => 'Piece', 'DL_FUNCS' => {
+ }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Time\Piece\Piece.dll -dll -nologo -no
+defaultlib -debug -opt:ref,icf -libpath:"C:\progs\perl5101\lib\CORE"
+ -machine:x86 Piece.obj C:\progs\perl5101\lib\CORE\perl510.lib old
+names.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.li
+b advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.
+lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
+ msvcrt.lib -def:Piece.def
Creating library blib\arch\auto\Time\Piece\Piece.lib and object bli
+b\arch\auto\Time\Piece\Piece.exp
if exist blib\arch\auto\Time\Piece\Piece.dll.manifest mt -nolo
+go -manifest blib\arch\auto\Time\Piece\Piece.dll.manifest -outputreso
+urce:blib\arch\auto\Time\Piece\Piece.dll;2
if exist blib\arch\auto\Time\Piece\Piece.dll.manifest del blib
+\arch\auto\Time\Piece\Piece.dll.manifest
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 755 blib\arch\auto\Time\Piece\Piece.dll
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "cp" --
+Piece.bs blib\arch\auto\Time\Piece\Piece.bs
C:\progs\perl5101\bin\perl.exe -MExtUtils::Command -e "chmod"
+-- 644 blib\arch\auto\Time\Piece\Piece.bs
C:\progs\perl5101\bin\perl.exe "-MExtUtils::Command::MM" "-e"
+"test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/01base.t ...... ok
t/02core.t ...... ok
t/03compare.t ... ok
t/04mjd.t ....... ok
t/05overload.t .. ok
t/06subclass.t .. ok
t/07arith.t ..... ok
All tests successful.
Files=7, Tests=156, 3 wallclock secs ( 0.17 usr + 0.03 sys = 0.20 C
+PU)
Result: PASS
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|
|