CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    May 2011
    Posts
    1

    VS2010 & STLport 5.2.1 problem

    Hi,

    I am trying to port an old project built on VS2005 with STLport 5.1 to VS2010 with STLport 5.2.1
    I downloaded STLport 5.2.1 and built it successfully with VS2010. I put the libraries and other code in the VC dir and this path is included at the top of my "includes" directories in VS2010.
    When I try to build my project I get the following errors:

    29> stdafx.cpp
    29> glBaseApp.cpp
    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(30): error C2143: syntax error : missing ';' before '<'

    29> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(213) : see reference to class template instantiation 'stlp_std::tr1::array<_Ty,_Size>' being compiled

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(30): error C2238: unexpected token(s) preceding ';'

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(31): error C2143: syntax error : missing ';' before '<'

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(31): error C2238: unexpected token(s) preceding ';'

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(33): error C3203: 'iterator' : unspecialized class template can't be used as a template argument for template parameter '_Iterator', expected a real type

    29>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\array(33): error C2955: 'iterator' : use of class template requires template argument list

    29> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\STLport\stlport\stl/_iterator_base.h(60) : see declaration of 'iterator'

    Anyone seen this kind of a thing before or have any suggestions/solutions?
    Please let me know if some other info is needed.

    Thanks
    Nikhil

  2. #2
    Join Date
    Apr 1999
    Posts
    27,449

    Re: VS2010 & STLport 5.2.1 problem

    Quote Originally Posted by nkhedkar View Post
    Hi,

    I am trying to port an old project built on VS2005 with STLport 5.1 to VS2010 with STLport 5.2.1
    The first obvious question to you is why you need STLPort for such a modern compiler as VS 2010?

    The standard library used by Visual Studio 2010 has been worked on by competent, hard-working engineers (Plauger and others at DinkumWare, and I believe Herb Sutter is involved). I see nothing in the compiler's standard library implementation that requires a third-party solution such as STLPort.

    The array<T> class is now in the std:: namespace, as VS 2010 is more or less, compliant with C++0x. Given that, I see very little, if any need for STLPort on VS 2010. If I were you, I would get rid of all references to STLPort, recompile your application to use only the VS 2010 standard library. If you get compiler errors that are not STLPort related, then you need to make your code compliant to C++0x, as again, the array<T> class is available and shouldn't be a problem when compiling code that uses it.

    Then if that all works and your program runs, just accept that VS 2010 no longer needs help from STLPort.

    Regards,

    Paul McKenzie
    Last edited by Paul McKenzie; June 1st, 2011 at 10:13 AM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured