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'.

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.

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
 >




Reply via email to