HPE GreenLake Administration
- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Porting VisualC++ to Compaq C++
Operating System - OpenVMS
1825768
Members
1958
Online
109687
Solutions
Forums
Categories
Company
Local Language
back
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
back
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Blogs
Information
Community
Resources
Community Language
Language
Forums
Blogs
Go to solution
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-07-2007 08:50 PM
02-07-2007 08:50 PM
I am looking at XML Bindings for C++ and have used XMLSpy to generate C++ code. Unfortunately it only generates MS Visual C++ that I can't get to compile on Compaq C++ V6.5-004 for OpenVMS Alpha V8.2.
The compiler option /STANDARD=MS seems to handle the string handling (eg _T.. and _sntprintf) with a version of tchar.h.
$cxx ALTOVAEXCEPTION.CPP -
/STANDARD=MS -
/DEFINE=(HAVE_STRSTREAM) -
/INCLUDE=("CXX$USER_INCLUDE/","CXX$ALTOVA_INCLUDE/")
However I get the following error
#error "cannot include ostream -- define __USE_STD_IOSTREAM to override default
- see section 7.1.2 of the C++ Using Guide"
.^
%CXX-E-ERRDIRECTIVE, #error directive: "cannot include ostream -- define
__USE_STD_IOSTREAM to override default - see section 7.1.2 of the
C++ Using Guide"
at line number 58 in module OSTREAM. of text library SYS$COMMON:[SYSLIB]CXXL$ANS
I_DEF.TLB;1
inline tostream& operator<<(tostream& os, CSchemaType& t)
.......^
%CXX-E-NOTMEMBER, namespace "std" has no member "ostream"
But the MS options uses the old iostream. If I use the std iostream as follows:
$cxx ALTOVAEXCEPTION.CPP -
/STANDARD=MS -
/DEFINE=(__USE_STD_IOSTREAM,HAVE_STRSTREAM) -
/INCLUDE=("CXX$USER_INCLUDE/","CXX$ALTOVA_INCLUDE/")
Then I get
#pragma do_not_instantiate std::istreambuf_iterator
> std::num_get > >:
:do_get(std::istreambuf_iterator >, std::istreambuf
_iterator ................................................................................
...^
std::char_traits >, std::ios_base &, int &, long long &) const
%CXX-E-NOMATTYPOVLFUN, no instance of overloaded function "std::num_get InputIterator>::do_get [with charT=char,
InputIterator=std::istreambuf_iterator std::char_traits>]" matches the specified type
at line number 617 in module NUMERAL. of text library SYS$COMMON:[SYSLIB]CXXL$AN
SI_DEF.TLB;1
Am I missing something. Or is it going to be easier to rewrite the original code to strip out the MS extensions?
Alternatively is there a simple XML binding compiler available?
The compiler option /STANDARD=MS seems to handle the string handling (eg _T.. and _sntprintf) with a version of tchar.h.
$cxx ALTOVAEXCEPTION.CPP -
/STANDARD=MS -
/DEFINE=(HAVE_STRSTREAM) -
/INCLUDE=("CXX$USER_INCLUDE/","CXX$ALTOVA_INCLUDE/")
However I get the following error
#error "cannot include ostream -- define __USE_STD_IOSTREAM to override default
- see section 7.1.2 of the C++ Using Guide"
.^
%CXX-E-ERRDIRECTIVE, #error directive: "cannot include ostream -- define
__USE_STD_IOSTREAM to override default - see section 7.1.2 of the
C++ Using Guide"
at line number 58 in module OSTREAM. of text library SYS$COMMON:[SYSLIB]CXXL$ANS
I_DEF.TLB;1
inline tostream& operator<<(tostream& os, CSchemaType& t)
.......^
%CXX-E-NOTMEMBER, namespace "std" has no member "ostream"
But the MS options uses the old iostream. If I use the std iostream as follows:
$cxx ALTOVAEXCEPTION.CPP -
/STANDARD=MS -
/DEFINE=(__USE_STD_IOSTREAM,HAVE_STRSTREAM) -
/INCLUDE=("CXX$USER_INCLUDE/","CXX$ALTOVA_INCLUDE/")
Then I get
#pragma do_not_instantiate std::istreambuf_iterator
> std::num_get
:do_get(std::istreambuf_iterator
_iterator
...^
std::char_traits
%CXX-E-NOMATTYPOVLFUN, no instance of overloaded function "std::num_get
InputIterator=std::istreambuf_iterator
at line number 617 in module NUMERAL. of text library SYS$COMMON:[SYSLIB]CXXL$AN
SI_DEF.TLB;1
Am I missing something. Or is it going to be easier to rewrite the original code to strip out the MS extensions?
Alternatively is there a simple XML binding compiler available?
Solved! Go to Solution.
1 REPLY 1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-08-2007 03:17 AM
02-08-2007 03:17 AM
Solution
The Microsoft Visual C++ IDE is an integrated and core component of the Windows operating system and related environments; it's a powerful platform IDE; very far beyond what I would consider a compiler in the classic sense. It's really quite good at generating Windows MSC++ code, and it has an impressively detailed knowledge of Windows and Windows APIs and fully integrates that into the generated MSC++ source code.
As for other options, I've been porting across libxml2 libraries and related. There's a libxml++ wrapper around, too.
And for your question, I'd take a look at the codesynthesis xsd tool over at at http://codesynthesis.com/products/xsd/ -- I don't know that it has been ported.
There's an XSD SDL tool around, too. SDLXSD, Not sure if that generates from or into SDL, but I'd take a look at that. SDL is the core API and data structure definition language for OpenVMS.
As for other options, I've been porting across libxml2 libraries and related. There's a libxml++ wrapper around, too.
And for your question, I'd take a look at the codesynthesis xsd tool over at at http://codesynthesis.com/products/xsd/ -- I don't know that it has been ported.
There's an XSD SDL tool around, too. SDLXSD, Not sure if that generates from or into SDL, but I'd take a look at that. SDL is the core API and data structure definition language for OpenVMS.
The opinions expressed above are the personal opinions of the authors, not of Hewlett Packard Enterprise. By using this site, you accept the Terms of Use and Rules of Participation.
Company
Support
Events and news
Customer resources
© Copyright 2025 Hewlett Packard Enterprise Development LP