Отправляет email-рассылки с помощью сервиса Sendsay

[prg] подключение статической библеотеки к проекту

Здравствуйте, industry.


здравствуйте, участники рассылки. создал статическую
библиотеку,
инструкцию брал с msdn
создал проект, попробовал подключить библеотеку
помимо настроек проекта пробовал и запись #pragma
comment(lib,"myfirst.lib"), myfirst - имя моей библеотеки.
однако на стадии компановки получаю ошибки типа
2>myfirst.lib(mylib.obj) : error LNK2001: неразрешенный
внешний символ ""protected: static class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > class_fils::error::name" (?name@error@class_fils@@1V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A)"
2>myfirst.lib(mylib.obj) : error LNK2001: неразрешенный
внешний символ ""public: static class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > * class_fils::error::mistakens" (?mistakens@error@class_fils@@2PAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A)"
что можно предпринять?
пс. проштудировал несколько книг, и несколько
десятков форумов, но почемуто вопрос о
библеотеках ни где не обсуждается.
буду признателелен за ссылки, где это можно
изучить?

Ответить   Wed, 17 Jul 2013 21:43:52 +0400 (#2787089)

 

Ответы:

Приветствую всех.

[...]

В сообщении об ошибках речь идёт о том, что компоновщик в obj-файле встретил
"внешний символ", то есть некоторое имя, которое не определено в этом obj-файле,
но должно быть определено в другом obj-файле. Однако такого определения компоновщик
ни в одном из obj-файлов не нашел.
Это имя в исходном коде могло быть и глобальной переменной (например, с ключевым
словом extern), и классом, определенным в одном месте, а используемом в другом,
и функцией из других библиотек, и т.п. В сообщении об ошибке указано, что это
было.
Поэтому проверьте исходный код вашей библиотеки на предмет использования сущностей,
которые в коде вашей библиотеки явно не определены .

Ответить   "i_chay" Fri, 19 Jul 2013 07:08:50 +0300 (#2788087)