On 13/03/2008, Tim Ellison <[EMAIL PROTECTED]> wrote:
>
> Simon Chow wrote:
> > After some struggle, I have built harmony successfully using
> VS.net2005compiler.
>
>
> Thanks Simon, and sorry that you had to struggle. Clearly we need to
> make this easier as a few people have reported trouble.
>
>
> > The following modification should be performed both in the configuration
> > files and source files.
> > 1, in working_classlib
> > depends\build\defines.mak
> > change
> > 36 !ELSE
> > 37 WARNING_LEVEL=WX
> > 38 !ENDIF
> > to
> > 36 !ELSE
> > 37 WARNING_LEVEL=W3
> > 38 !ENDIF
>
>
> Perhaps the warnings are useful and we should be fixing the causes
> rather than ignoring them? The intention of WX is to make the code
> 'clean'.
Tim,
Yes, I also think this is just a temporary solution.
Ignoring the compiler warning may cause unexpected bugs.
It's a good workaround but I'd prefer to fix the cause or ignore
> specific warnings like you do below.
>
> I'll see if I can find a copy of VS.net 2005 to build with and help fix
> these warnings.
I am very expecting this :=)
Regards,
>
> Tim
>
>
> > 2, in working_vm
> > (1) make\vm\common-vm.xml
> > insert
> > <compilerarg value="/wd4005" if="is.msvc"/>
> > <compilerarg value="/wd4996" if="is.msvc" />
> > <compilerarg value="/wd4047" if="is.msvc" />
> > <compilerarg value="/wd4024" if="is.msvc" />
> > <compilerarg value="/wd4819" if="is.msvc" />
> > <compilerarg value="/wd4005" if="is.msvc"/>
> > after
> > 62 <compilerarg value="/Zi" if="is.windows"/>
> > 63 <compilerarg value="/W3" if="is.windows"/>
> > 64 <compilerarg value="/WX" if="is.windows" unless="is.x86_64"/>
> >
> > (2) working_vm\vm\include\open\hythread.h, hythread_ext.h
> > modify (take 'include' out of 'extern "C"')
> > #if defined(__cplusplus)
> > extern "C" {
> > #endif
> > #include <open/types.h>
> >
> > #include <stddef.h>
> > #include "hycomp.h"
> >
> > #ifdef _WIN32
> > # if (_MSC_VER >= 1400)
> > # include <intrin.h>
> > # endif
> > #endif
> > to
> > #include <open/types.h>
> >
> > #include <stddef.h>
> > #include "hycomp.h"
> >
> > #ifdef _WIN32
> > # if (_MSC_VER >= 1400)
> > # include <intrin.h>
> > # endif
> > #endif
> >
> > #if defined(__cplusplus)
> > extern "C" {
> > #endif
> >
> > For hythread_ext.h, similar operation should be performed.
> >
> >
> >
> >
> > On 06/03/2008, Aleksey Shipilev <[EMAIL PROTECTED]> wrote:
> >> Hi,
> >>
> >> The problem here is warning that are treated as error, right. You can
> >> probably try to suppress these warnings by listing their codes in
> >> corresponding make/vm/*.xml. This is part of make/vm/jitrino.xml for
> >> ICL compiler warning suppression:
> >>
> >> ---- CUT ----
> >> <compilerarg value="/Qvec_report0" if="is.icl"
> >> unless="is.cfg.debug"/>
> >> <compilerarg
> >> value="/Qww1,82,111,172,181,279,280,373,424,593,654,858" if="is.icl"/>
> >> <compilerarg
> >>
> >>
> value="/Qwd82,193,271,304,373,383,424,444,654,869,981,1125,1418,1419,1572,1683"
> >> if="is.icl"/>
> >> <!--
> >> # /Qwd[tag,...] Disable the soft diagnostics
> >> that corresponds to tag.
> >> # /Qwr[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it a remark.
> >> # /Qww[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it a warning.
> >> # /Qwe[tag,...] Override the severity of the
> >> soft diagnostics corresponding to tag and make it an error.
> >> ---- CUT ----
> >>
> >> You may try to fix problem you describing in this way. Please report
> >> back if it work for you :)
> >>
> >> Thanks,
> >>
> >> Aleksey.
> >>
> >>
> >> On Thu, Mar 6, 2008 at 11:47 AM, liaoyin <[EMAIL PROTECTED]> wrote:
> >>> I think this website can explain these problem.
> >>>
> >>
> http://www.manticmoo.com/articles/jeff/programming/visual-c++/suppressing-deprecation-warnings.php
> >>> I suggest that you'd better use the vc 2003.ok
> >>>
> >>> Suppressing deprecation warnings when upgrading to Visual Studio 2005
> >> by
> >>> Jeffrey P. Bigham
> >>>
> >>> I was recently tasked with migrating a simple, internal application
> >> from
> >>> VS2003 to VS2005. You would think this would be really simple, and it
> >> really
> >>> wasn't that hard, but there are a few gotcha's that you have to watch
> >> out
> >>> for when doing so.
> >>>
> >>> In its infinite wisdom Microsoft decided that as of Visual Studio
> 2005,
> >>> basically all of the standard C functions dealing with strings that
> >> rely on
> >>> an ending NULL character and not a specified length would be
> >> deprecated.
> >>> This means that strcpy, sprintf and strlen are all deprecated to name
> >> just a
> >>> few. In some respects this is a good thing because it might help to
> >> convince
> >>> programmers to use the more secure variations of these standard
> >> functions,
> >>> but, unfortunately, it also causes applications that used to compile
> >> cleanly
> >>> to issue thousands of warnings. Futhermore, switching to the more
> >> secure
> >>> variations of the functions isn't always trivially because to use
> them
> >> you
> >>> must know the length of the buffers, which might not be easily
> >> accessible in
> >>> many programs not designed for it. And, not to mention, if you use
> the
> >>> secure functions you give up all hope of being able to compile your
> C++
> >> code
> >>> in Unix.
> >>> Avoidance by Suppression
> >>>
> >>> There may be a better way of getting rid of these warning, but until
> >> there
> >>> is I'm just going to suppress them. I want to be as particular as
> >> possible
> >>> with the warnings that I suppress to make sure that I'm not
> suppressing
> >>> something useful. Therefore, I picked out the particular warning code
> >>> associated with these warnings, code 4996, and suppress only warnings
> >> of
> >>> that type.
> >>>
> >>> To suppress these warnings simply add the following compiler
> directive:
> >>>
> >>> /wd4996
> >>>
> >>> to your commandline options.
> >>>
> >>> In Visual Studio this can be found in the Properties of your project,
> >> under
> >>> C/C++, in the Commandline option.
> >>> List of newly deprecated functions in VS2005 and their secure
> >> alternative *
> >>> Function**Secure Alternative* access_access, _access_s cabs_cabs
> >> cgets_cgets,
> >>> _cgets_s chdir_chdir chmod_chmod chsize_chsize, _chsize_s close_close
> >>> cprintf_cprintf, _cprintf_s cputs_cputs creat_creat cscanf_cscanf,
> >> _cscanf_s
> >>> cwait_cwait dup_dup dup2_dup2 ecvt_ecvt, _ecvt_s eof_eof execl_execl
> >> execle
> >>> _execle execlp_execlp execlpe_execlpe execv_execv execve_execve
> execvp
> >>> _execvp execvpe_execvpe fcloseall_fcloseall fcvt_fcvt, _fcvt_s
> >> fdopen_fdopen
> >>> fgetchar_fgetchar filelength_filelength fileno_fileno
> flushall_flushall
> >>> fputchar_fputchar, _fputwchar gcvt_gcvt, _gcvt_s getch_getch
> >> getche_getche
> >>> getcwd_getcwd, _wgetcwd getpid_getpid getw_getw hypot_hypot inp_inp
> >> inpw
> >>> _inpw isascii__isascii isatty_isatty iscsym__iscsym iscsymf__iscsymf
> >> itoa_itoa,
> >>> _itoa_s j0_j0 j1_j1 jn_jn kbhit_kbhit lfind_lfind, _lfind_s
> >> locking_locking
> >>> lsearch_lsearch, _lsearch_s lseek_lseek ltoa_ltoa, _ltoa_s
> >> memccpy_memccpy
> >>> memicmp_memicmp mkdir_mkdir mktemp_mktemp, _mktemp_s open_open
> >> outp_outp
> >>> outpw_outpw putch_putch putenv_putenv, _putenv_s putw_putw read_read
> >> rmdir
> >>> _rmdir rmtmp_rmtmp setmode_setmode sopen_sopen, _sopen_s
> spawnl_spawnl
> >>> spawnle_spawnle spawnlp_spawnlp spawnlpe_spawnlpe spawnv_spawnv
> spawnve
> >>> _spawnve spawnvp_spawnvp spawnvpe_spawnvpe strcmpi_stricmp
> >> strdup_strdup
> >>> stricmp_stricmp strlwr_strlwr, _strlwr_s strnicmp_strnicmp
> >> strnset_strnset,
> >>> _strnset_s strrev_strrev strset_strset, _strset_s strupr_strupr,
> >> _strupr_s
> >>> swab_swab tell_tell tempnam_tempnam toascii__toascii tzset_tzset
> >> ultoa_ultoa,
> >>> _ultoa_s umask_umask, _umask_s ungetch_ungetch unlink_unlink
> >> wcsdup_wcsdup
> >>> wcsicmp_wcsicmp wcsicoll_wcsicoll wcslwr_wcslwr, _wcslwr_s
> >> wcsnicmp_wcsnicmp
> >>> wcsnset_wcsnset, _wcsnset_s wcsrev_wcsrev wcsset_wcsset, _wcsset_s
> >>> wcsupr_wcsupr,
> >>> _wcsupr_s write_write y0_y0 y1_y1 yn_yn
> >>>
> >>> 2008/3/6, Simon Chow <[EMAIL PROTECTED]>:
> >>>
> >>>
> >>> > I want to build a svn latest version on Windows, but this error
> >> occurs.
> >>> > How to deal with it?
> >>> >
> >>> > build:
> >>> > [echo] ## Building 'encoder'
> >>> > [mkdir] Created dir:
> >>> > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >>> > ld\windows_x86_msvc_debug\semis\encoder\bin
> >>> > [mkdir] Created dir:
> >>> > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\bui
> >>> > ld\windows_x86_msvc_debug\semis\encoder\obj
> >>> >
> >>> > [cc] 4 total files to be compiled.
> >>> > [cc] cl : Command line warning D9035 : option 'GZ' has been
> >>> > deprecated an
> >>> > d will be removed in a future release
> >>> > [cc] cl : Command line warning D9036 : use 'RTC1' instead of
> >> 'GZ'
> >>> > [cc] encoder.cpp
> >>> > [cc] enc_tabl.cpp
> >>> > [cc] enc_base.cpp
> >>> > [cc]
> >>> >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>> > der\ia32_em64t\enc_base.cpp(771) : error C2220: warning treated as
> >> error -
> >>> > no 'o
> >>> > bject' file generated
> >>> > [cc]
> >>> >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>> > der\ia32_em64t\enc_base.cpp(771) : warning C4996: 'strcmpi' was
> >> declared
> >>> > depreca
> >>> > ted
> >>> > [cc] C:\Program Files\Microsoft Visual Studio
> >>> > 8\VC\INCLUDE\string
> >>> > .h(212) : see declaration of 'strcmpi'
> >>> > [cc] Message: 'The POSIX name for this item is
> >> deprecated.
> >>> > Instea
> >>> > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>> > details.'
> >>> > [cc]
> >>> >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>> > der\ia32_em64t\enc_base.cpp(823) : warning C4996: 'strcmpi' was
> >> declared
> >>> > depreca
> >>> > ted
> >>> > [cc] C:\Program Files\Microsoft Visual Studio
> >>> > 8\VC\INCLUDE\string
> >>> > .h(212) : see declaration of 'strcmpi'
> >>> > [cc] Message: 'The POSIX name for this item is
> >> deprecated.
> >>> > Instea
> >>> > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>> > details.'
> >>> > [cc]
> >>> >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>> > der\ia32_em64t\enc_base.cpp(873) : warning C4996: 'strcmpi' was
> >> declared
> >>> > depreca
> >>> > ted
> >>> > [cc] C:\Program Files\Microsoft Visual Studio
> >>> > 8\VC\INCLUDE\string
> >>> > .h(212) : see declaration of 'strcmpi'
> >>> > [cc] Message: 'The POSIX name for this item is
> >> deprecated.
> >>> > Instea
> >>> > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>> > details.'
> >>> > [cc]
> >>> >
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\vm\port\src\enco
> >>> > der\ia32_em64t\enc_base.cpp(1073) : warning C4996: 'strcmpi' was
> >> declared
> >>> > deprec
> >>> > ated
> >>> > [cc] C:\Program Files\Microsoft Visual Studio
> >>> > 8\VC\INCLUDE\string
> >>> > .h(212) : see declaration of 'strcmpi'
> >>> > [cc] Message: 'The POSIX name for this item is
> >> deprecated.
> >>> > Instea
> >>> > d, use the ISO C++ conformant name: _strcmpi. See online help for
> >>> > details.'
> >>> > [cc] dec_base.cpp
> >>> > [cc] Generating Code...
> >>> >
> >>> > BUILD FAILED
> >>> > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\build.xml:121:
> >> The
> >>> > following
> >>> > error occurred while executing this line:
> >>> >
> >>> >
> >>
> D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\vm\encoder.xml:32:
> >>> > The
> >>> > following error occurred while executing this line:
> >>> > D:\Developing\JOpen64\Harmony\Code\trunk\working_vm\make\build-
> >> native.xml
> >>> > :196:
> >>> > c
> >>> > l failed with return code 2
> >>> >
> >>> > Total time: 16 seconds
> >>> >
> >>> >
> >>> > --
> >>> > From : [EMAIL PROTECTED] School of Fudan University
> >>> >
> >>>
> >
> >
> >
>
--
>From : [EMAIL PROTECTED] School of Fudan University