www.digitalmars.com         C & C++   DMDScript  

c++.stl.port - STLPort support for vector or list

reply Daniel Jomphe <Daniel_member pathlink.com> writes:
Hi,

I'm trying to port to DOS a WIN32 C++ application I've programmed using C++ STL.
I'm using DMC 8.29b with STLPort 4.5.3.

Other than the DMC's limitations with namespaces and templates which I had to
adjust my sources to, everything seems to work fine now. But there's a problem :
my application still won't compile because it uses <list>. Why is it so? Is it
because I shouldn't use at all <list> (or <vector> also, which didn't work too)
with DMC, for the same template limitations that forced me to not use my class
templates from the original app?

Here's what I run :

DMC MyApp -a1 -Aa -Ab -Ae -Ar
-I\dm\stlport\stlport \dm\lib\stlport_dm_static.lib

And the result (a little reformatted for you):

struct _List_node_base {
^
c:\document\developpement\dm\stlport\stlport\stl/_list.h(60) : 
Error: malformed template declaration

};
^
c:\document\developpement\dm\stlport\stlport\stl/_list.h(63) :
Error: illegal combination of types

--- errorlevel 1


Thank you!

Daniel Jomphe
Nov 08 2002
next sibling parent reply Christof Meerwald <cmeerw web.de> writes:
On Fri, 8 Nov 2002 16:27:26 +0000 (UTC), Daniel Jomphe wrote:
 I'm trying to port to DOS a WIN32 C++ application I've programmed using C++
STL.

I've never tried STLport on anything else than Win32 - so the STLport configuration probably assumes to be compiled for Win32.
 Here's what I run :
 
 DMC MyApp -a1 -Aa -Ab -Ae -Ar
 -I\dm\stlport\stlport \dm\lib\stlport_dm_static.lib
 
 And the result (a little reformatted for you):
 
 struct _List_node_base {
 ^
 c:\document\developpement\dm\stlport\stlport\stl/_list.h(60) : 
 Error: malformed template declaration

Can you please post a minimal example/test-case for the problem - the compiler output alone isn't all that useful without the source-code. bye, Christof -- http://cmeerw.org JID: cmeerw jabber.at mailto cmeerw at web.de ...and what have you contributed to the Net?
Nov 08 2002
parent Daniel Jomphe <Daniel_member pathlink.com> writes:
Can you please post a minimal example/test-case for the problem - the
compiler output alone isn't all that useful without the source-code.

In fact the error was generated in STLPort's _list.h when the compiler was parsing <list>. I just found it was caused by other parts of my own code. I still was trying to use 'using namespace std;' directives. Thank you.
Nov 08 2002
prev sibling parent "Matthew Wilson" <dmd synesis.com.au> writes:
Can you post an exemplifying set of sources and your project file?

"Daniel Jomphe" <Daniel_member pathlink.com> wrote in message
news:aqgole$1epe$1 digitaldaemon.com...
 Hi,

 I'm trying to port to DOS a WIN32 C++ application I've programmed using

 I'm using DMC 8.29b with STLPort 4.5.3.

 Other than the DMC's limitations with namespaces and templates which I had

 adjust my sources to, everything seems to work fine now. But there's a

 my application still won't compile because it uses <list>. Why is it so?

 because I shouldn't use at all <list> (or <vector> also, which didn't work

 with DMC, for the same template limitations that forced me to not use my

 templates from the original app?

 Here's what I run :

 DMC MyApp -a1 -Aa -Ab -Ae -Ar
 -I\dm\stlport\stlport \dm\lib\stlport_dm_static.lib

 And the result (a little reformatted for you):

 struct _List_node_base {
 ^
 c:\document\developpement\dm\stlport\stlport\stl/_list.h(60) :
 Error: malformed template declaration

 };
 ^
 c:\document\developpement\dm\stlport\stlport\stl/_list.h(63) :
 Error: illegal combination of types

 --- errorlevel 1


 Thank you!

 Daniel Jomphe

Nov 08 2002