Je travaille sur le portage de notre code C++ d'eVC 4.0 vers Visual Studio 2008. Notre cible est Windows Mobile 6.1 et nous utilisons le SDK Windows Mobile 6.0 pour notre application.Utilisation du port STL dans VS2008
Notre code utilisé stl port lorsqu'il est compilé en eVC 4 et nous aimerions continuer à utiliser stl port si possible.
Est-ce que quelqu'un sait quelles sont les étapes nécessaires pour intégrer le port STL (5.2.1) dans notre application. Nous avons défini les répertoires include dans la solution (comme nous l'avons fait pour le projet eVC 4.0), mais nous voyons les erreurs (ci-dessous) à chaque fois que nous essayons d'utiliser list_back ou vector insert avec nos propres classes (ci-dessous l'erreur avec notre classe "TriangleBufferElement"). Ces commandes semblent fonctionner avec des types natifs comme int, double, etc.
Nous nous sommes assurés que toutes les classes ont les bons constructeurs, constructeurs de copie, opérateurs d'assignation et opérateurs de comparaison et que tous semblent être corrects.
Des idées?
C:\Program Files\Windows CE Tools\stlport\stl/_construct.h(119) : error C2665: 'operator new' : none of the 2 overloads could convert all the argument types
1> C:\Program Files\Windows Mobile 6 SDK\PocketPC\include\../../../Windows Mobile 6 SDK\PocketPC\Include\Armv4i/new(61): could be 'void *operator new(unsigned int,const std::nothrow_t &) throw()'
1> while trying to match the argument list '(unsigned int, TriangleBufferElement *)'
1> C:\Program Files\Windows CE Tools\stlport\stl/_construct.h(134) : see reference to function template instantiation 'void stlp_std::_Copy_Construct_aux<_Tp>(_Tp *,const _Tp &,const stlp_std::__false_type &)' being compiled
1> with
1> [
1> _Tp=TriangleBufferElement
1> ]
1> C:\Program Files\Windows CE Tools\stlport\stl/_vector.h(381) : see reference to function template instantiation 'void stlp_std::_Copy_Construct<_Tp>(_Tp *,const _Tp &)' being compiled
1> with
1> [
1> _Tp=TriangleBufferElement
1> ]
1> C:\Program Files\Windows CE Tools\stlport\stl/_vector.h(376) : while compiling class template member function 'void stlp_std::vector<_Tp>::push_back(const _Tp &)'
1> with
1> [
1> _Tp=TriangleBufferElement
1> ]
1> c:\srcdevbranch\pointlib\dtmconverter\dtm\dtmreader\.\trianglebuffer.h(47) : see reference to class template instantiation 'stlp_std::vector<_Tp>' being compiled
1> with
1> [
1> _Tp=TriangleBufferElement
1> ]
Pouvez-vous ajouter du code exemple autour de cette ligne d'erreur? –
oui, et les étiquettes pré/code autour de votre erreur pour le rendre plus facile à lire. – crashmstr