C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
STL и LIB, Проблемы при работе с STL в библиотеках
Kabaev Sergey
Отправлено: 16.11.2004, 15:12


Ученик-кочегар

Группа: Участник
Сообщений: 3



Добрый день!
Есть набор классов для хранения и работы с данными. Эти класс сделаны с использованием STL.
Когда решил вынести эти классы в отдельную LIB, то обнаружил, что при сборке приложения использующего эту библиотеку вылетают ошибки unresolved external на все функции из библиотеки, в которых в качестве параметров или возвращаемых значений есть stl-шаблоны std::map, std::vector и т.п.
Когда подключаю нужные мне классы к проекту напрямую (не включая их в lib-файл), то приложение нормально линкуется.
В чем дело, кто-нибудь может помочь?
К сожалению, не могу отказаться от lib-ов. Проект большой и линковщик начинает сыпать ошибками при добавлении новых модулей. Именно поэтому и решил вывести часть исходников в Lib.

С уважением,
Кабаев Сергей

Отредактировано Kabaev Sergey — 16/11/2004, 16:15
Asher
Отправлено: 16.11.2004, 17:42


Мастер участка

Группа: Модератор
Сообщений: 550



Поищите на RSDN статью
"Заметка о некоторых особенностях использования STL в DLL"
Kabaev Sergey
Отправлено: 17.11.2004, 10:39


Ученик-кочегар

Группа: Участник
Сообщений: 3



Спасибо
Kabaev Sergey
Отправлено: 17.11.2004, 12:11


Ученик-кочегар

Группа: Участник
Сообщений: 3



Непонятно. В упомянутой статье идет речь о ошибка связанных с наличием в приложении одновременно двух работающих менеджеров памяти. Но возникающие ошибки, если они будут, относятся к runtime. Каким макаром они могут вызывать ошибки при сборке приложения?
Asher
Отправлено: 17.11.2004, 14:41


Мастер участка

Группа: Модератор
Сообщений: 550



Здравствуйте.
Сорри. Наводку дал неправильную. Домой убегал и невнимательно вопрос прочитал.

Только что сделал дрозофиллу — у меня на пятом Buildere
std::string TestStr(std::string e_sStr); и
std::vector TestVect(std::vector e_vctMas);
из lib отрабатывают совершенно нормально.
и Debug и Release
Asher
Отправлено: 17.11.2004, 14:45


Мастер участка

Группа: Модератор
Сообщений: 550



Забыл прицепить biggrin.gif

User Attached Image Скачать файл
Projects_stl_lib.zip


olegenty
Отправлено: 17.11.2004, 15:48


Ветеран

Группа: Модератор
Сообщений: 2412



у меня другая проблема — компашка с инсталлюком была битая, часть stl (некоторые *.c файлы) на некоторое число символов — мусор. обидно, вместо map/vector так и пользуюсь TList

а STLPort поставить не смог — не компилится по инструкции.
Asher
Отправлено: 17.11.2004, 15:57


Мастер участка

Группа: Модератор
Сообщений: 550



На какой Builder? от 5-го или от 6-го.
могу попробовать по почте кинуть.
Кстати в 6-м и так STLPort biggrin.gif

Вернуться в Вопросы программирования в C++Builder