Re: как экспортировать std::vector из DLL
От: Sergey Россия  
Дата: 28.03.05 09:05
Оценка:
Hello, opendx!
You wrote on Mon, 28 Mar 2005 08:38:49 GMT:

o> Создал шаблон DLL в Visual Studio .NET, добавил в класс одну строчку

o> vector<int> vi; и полчил неприятное предупреждение:

o>
 o> h:\c\dlltest\dlltest.h(20) : warning C4251: 'Cdlltest::vi' : class
 o> 'std::vector<_Ty>' needs to have dll-interface to be used by clients of
 o> class 'Cdlltest'
 o>         with
 o>         [
 o>             _Ty=int
 o>         ]
 o>


Это предупреждение надлежит давить прагмой

o> Почитал тут:

o> How<br />
<span class='lineQuote level1'> o&gt; To Exporting STL Components Inside &amp; Outside of a Class</span>
но реально

o> это работает только с VC6.

Pete Becker, один из разработчиков того STL, что поставлялся с VC 6, на эту
статью сильно ругался Вери, говорит, мислидинь статейка, и на кой чорт ее
только написали. На самом деле, если тебе надо под VC 6, следует взять
апдейт его стля (раньше был на сайте динкумваре, есть и на рсдн) и перестать
обращать внимание на warning C4251. Под VC 7.1 — апдейт брать не надо,
ворнинг игнорировать.


With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.