Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Линкер и stl 
:(
    Опции темы
knave
Дата 9.12.2004, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: нет
Всего: 5



Как убрать вот такой вот баг при линковке???

Recovery.obj : error LNK2001: unresolved external symbol "class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > __cdecl xdk::String::path_add_tail(class std::basic_string<unsigned shor
t,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)" (?path_add_tail@String@xdk@@YA?A



--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
chipset
Дата 9.12.2004, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 165



Покажи код программы где такой глюк возникает плз.

Это сообщение отредактировал(а) chipset - 9.12.2004, 16:22


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Guest
Дата 9.12.2004, 16:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











добавить в начале файла
Код

#include <string>

  Вверх
knave
Дата 10.12.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: нет
Всего: 5



Фишка в том чот там чужие исходники используют это. Исходники я трогате немогу Сообщения выдает линкер а не компилятор. Там надо либо либу какую нить подцепить, либо cpp какието включить в проект - только вот какие? Так что дело не в инклюде. Скорее всего линкер ненашел тела откомпиленные стл классов. Толкьо вот вопрос почему.


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
knave
Дата 10.12.2004, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: нет
Всего: 5



да, код к сожалению я показать немогу. Если я это сделаю (хоть самую малось) и это заметят то меня с работы уволят.

Вообще заметил странность, почемуто елси использовать STL то при компиляции map вылазит много варнингов о том что слишком длинные гдето имена и еще какие тонепонятные. Причем это происходит елси просто голая маин, в екоторой подключены соответствующие инклюды от STL и определена map.

Вот код тестового примера VS6.0 (а за ним список ошибок)

#include "stdafx.h"
#include <map>

using namespace std;
map <char, int>mp;

int main(int argc, char* argv[])
{
return 0;
}


TestSTL.cpp
D:\sources\TestSTL\TestSTL.cpp(8) : warning C4786: 'std::reverse_bidirectional_iterator<std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::iterator,std::pai
r<char const ,int>,std::pair<char const ,int> &,std::pair<char const ,int> *,int>' : identifier was truncated to '255' characters in the debug information
D:\sources\TestSTL\TestSTL.cpp(8) : warning C4786: 'std::reverse_bidirectional_iterator<std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::const_iterator,st
d::pair<char const ,int>,std::pair<char const ,int> const &,std::pair<char const ,int> const *,int>' : identifier was truncated to '255' characters in the debug information
D:\sources\TestSTL\TestSTL.cpp(8) : warning C4786: 'std::pair<std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::iterator,std::_Tree<char,std::pair<char con
st ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::iterator>' : identifier was truncated to '255' characters in the debug information
D:\sources\TestSTL\TestSTL.cpp(8) : warning C4786: 'std::pair<std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::const_iterator,std::_Tree<char,std::pair<ch
ar const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::const_iterator>' : identifier was truncated to '255' characters in the debug information
d:\program files\microsoft visual studio\vc98\include\xtree(183) : warning C4786: 'std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::~_Tree<char,std::pair<
char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >' : identifier was truncated to '255' characters in the debug information
d:\program files\microsoft visual studio\vc98\include\xtree(160) : warning C4786: 'std::_Tree<char,std::pair<char const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >::_Tree<char,std::pair<c
har const ,int>,std::map<char,int,std::less<char>,std::allocator<int> >::_Kfn,std::less<char>,std::allocator<int> >' : identifier was truncated to '255' characters in the debug information




--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
DENNN
Дата 10.12.2004, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: нет
Всего: 43



Повторюсь еще раз
Код

#include <string>

Цитата
Скорее всего линкер ненашел тела откомпиленные стл классов.

Естественно, что если нужный хедер не подключен, то на этапе сборки вылезут ошибки. И давай придерживаться верной теримнологии. STL - это бибилотека шаблонов, поэтому говорить о предварительно откомпилированных файлах STL бессмысленно.
Цитата
елси использовать STL то при компиляции map вылазит много варнингов о том что слишком длинные гдето имена и еще какие тонепонятные

Угу, а если прочитать приведенные примеры кода в MSDN, то можно заметить такие строчки
Цитата

// map_insert_find_end.cpp
// compile with: /EHsc
#pragma warning(disable:4786)
#include <map>

smile
PM ICQ   Вверх
mr.DUDA
Дата 10.12.2004, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: нет
Всего: 232



Цитата(knave @ 9.12.2004, 15:20)
Как убрать вот такой вот баг при линковке???

Recovery.obj : error LNK2001: unresolved external symbol "class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > __cdecl xdk::String::path_add_tail(class std::basic_string<unsigned shor
t,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &)" (?path_add_tail@String@xdk@@YA?A

Судя по тексту сообщения об ошибке, возможно проблема с типом конфигурации - попробуй поиграть с настройками проекта, в частности со всем, что может быть связано с Unicode, MCBS и т.п. Если не поможет, то может быть STL какой-то непонятной реализации, не всё подключено (либы забыл прикрутить и т.п.). Вот, например, что может означать такой кусочек кода из текста об ошибке:

Цитата
__cdecl xdk::String::path_add_tail

???

Что-то я не слышал о пространстве имён "xdk", да и поиск в стандартных хидерах ничего не дал...


--------------------
user posted image
PM MAIL WWW   Вверх
Mad
Дата 11.12.2004, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 2
Всего: 19



Цитата(knave @ 9.12.2004, 14:20)
__cdecl xdk::String::path_add_tail(class std::basic_

Меня xdk тоже удевило, ты не забыл какуюто либу к проекту подключить ?


--------------------
user posted image
PM MAIL   Вверх
knave
Дата 13.12.2004, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: нет
Всего: 5



XDK - это наш наворот. от него я все что нужно подключил и теперь на эту строку не ругается сейчас осталось тольок 2 бага при линковке

xdk_String.obj : error LNK2001: unresolved external symbol "class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > __cdecl xdk::WinErr::descr(unsigned long)" (?descr@WinErr@xdk@@YA?AV?$
basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@K@Z)
Policy.obj : error LNK2001: unresolved external symbol "class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > __cdecl xdk::WinErr::descr(unsigned long)" (?descr@WinErr@xdk@@YA?AV?$basi
c_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@K@Z)

Как назло человека который это все писал нет сейчас :/


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
knave
Дата 13.12.2004, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: нет
Всего: 5



Глюк этот видимо из-за парметров линкера или компилятора. Почемуто если сделать Ребилд то выдается пара ошибок. А елси после ребилда просто билд то все собирается на ура.


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0865 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.