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