----- Original Message -----
Sent: Thursday, November 24, 2005 7:56
AM
Subject: Xerces-C for Windows AMD64
We would like a
working xerces-C++ for Windows XP 64, specifically AMD64. I am starting to try
to build the source for this platform using Visual Studio 8 (Visual Studio
2005 - the final version), and I have some questions.
1) I have seen one
or two other people asking about this in the email archives,
but before I go to far, I would like to know if anyone has
gotten a functional xerces for 64 bit Windows.
2) We would like
to build with VC8, but there is no VC8 project in the 2.7.0 release. Should we
plan on creating one?
3) I have most of
the subprojects now compiling and linking for me, without
changing any source, but I still see 3 compile errors and many
disturbing compiler warnings.
The
warnings:
The most
bothersome warnings seem to me to be those where "long" is assumed to be 64
bits; on this platform, I believe that long is 32 bits even though pointers
are 64. At least according to Microsoft's documentation. An example
warning is below, but there are many more.
Configuration:
Debug x64
------
Compiling...
PSVIWriterHandlers.cpp
..\..\..\..\..\src\xercesc/internal/XSerializeEngine.hpp(818)
:
warning C4244: 'return' : conversion from '__int64'
to 'unsigned long',
possible loss of data
Is there a some
way to deal with these kind of warnings that I don't understand
built into xerces, or should we plan on changing the
source? The problem seems pretty systemic.
Here are the
errors.
Are there known
solutions for these errors or should we plan on fixing the xerces
source?
------ Build
started: Project: PSVIWriter,
Configuration: Debug x64
------
Compiling...
PSVIWriterHandlers.cpp
..\..\..\..\..\src\xercesc/internal/XSerializeEngine.hpp(818)
:
warning C4244: 'return' : conversion from '__int64'
to 'unsigned long',
possible loss of
data
..\..\..\..\..\src\xercesc/internal/XSerializeEngine.hpp(824)
:
warning C4244: 'return' : conversion from '__int64'
to 'unsigned long',
possible loss of
data
..\..\..\..\..\samples\PSVIWriter\PSVIWriterHandlers.cpp(1617)
:
error C2440: 'type cast' : cannot convert from
'xercesc_2_7::XSObject *' to
'unsigned long'
The target is
not large enough
Build log was saved
at
"file://c:\ddunkleworkspace\mytests\xerces-c-src_2_7_0\Projects\Win32\VC8\xerces-all\PSVIWriter\x64\Debug\BuildLog.htm"
PSVIWriter
- 1 error(s), 2 warning(s)
------ Build started: Project: xml4com,
Configuration:
Debug x64
------
Compiling...
XMLHTTPRequest.cpp
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(40)
:
warning C4996: '_tcsncpy' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\tchar.h(1467) : see declaration
of
'_tcsncpy'
Message: 'This
function or variable may be
unsafe. Consider using _tcsncpy_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(41)
:
warning C4996: 'strcat' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\string.h(78) : see declaration
of
'strcat'
Message: 'This
function or variable may be
unsafe. Consider using strcat_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(42)
:
warning C4996: 'strcat' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\string.h(78) : see declaration
of
'strcat'
Message: 'This
function or variable may be
unsafe. Consider using strcat_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(121)
:
warning C4244: '=' : conversion from 'WPARAM' to
'long', possible loss of
data
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(250)
: warning
C4996: '_tcslwr' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\tchar.h(1785) : see declaration
of
'_tcslwr'
Message: 'This
function or variable may be
unsafe. Consider using _tcslwr_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(252)
:
warning C4996: 'strcpy' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\string.h(73) : see declaration
of
'strcpy'
Message: 'This
function or variable may be
unsafe. Consider using strcpy_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(253)
:
warning C4996: '_tcslwr' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\tchar.h(1785) : see declaration
of
'_tcslwr'
Message: 'This
function or variable may be
unsafe. Consider using _tcslwr_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(260)
:
warning C4996: '_tcsncpy' was declared
deprecated
C:\Program Files
(x86)\Microsoft Visual Studio
8\VC\include\tchar.h(1467) : see declaration
of
'_tcsncpy'
Message: 'This
function or variable may be
unsafe. Consider using _tcsncpy_s instead. To
disable
deprecation, use _CRT_SECURE_NO_DEPRECATE. See online
help for
details.'
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(534)
: error
C2664: 'InternetSetStatusCallback' : cannot
convert parameter 2 from 'void
(__cdecl
*)(HINTERNET,DWORD,DWORD,LPVOID,DWORD)'
to
'INTERNET_STATUS_CALLBACK'
None of the functions with this name in scope
match the target
type
..\..\..\..\..\src\xercesc\com\XMLHTTPRequest.cpp(744)
: error
C2664: 'IWebBrowserApp::get_HWND' : cannot
convert parameter 1 from 'long
*' to 'SHANDLE_PTR *'
Types
pointed to are unrelated; conversion
requires reinterpret_cast, C-style
cast or
function-style cast
Build log was saved
at
"file://c:\ddunkleworkspace\mytests\xerces-c-src_2_7_0\Projects\Win32\VC8\xerces-all\xerces-com\x64\Debug\BuildLog.htm"
xml4com
- 2 error(s), 8 warning(s)
------ Build started: Project:
MemHandlerTest,
Configuration: Debug x64
------
Compiling...
SimpleHashPtr.cpp
..\..\..\..\..\tests\MemHandlerTest\SimpleHashPtr.cpp(32)
:
error C2440: 'type cast' : cannot convert from
'const void *const ' to
'long'
The target is not large
enough
Build log was saved
at
"file://c:\ddunkleworkspace\mytests\xerces-c-src_2_7_0\Projects\Win32\VC8\xerces-all\MemHandlerTest\x64\Debug\BuildLog.htm"
MemHandlerTest
- 1 error(s), 0 warning(s)
------ Skipped Build: Project: DOMTest,
Configuration:
Debug x64 ------
Project not selected to build for this
solution
configuration
========== Build: 0 succeeded, 3 failed,
28
up-to-date, 1 skipped
==========