LNK2019. Visual Studio 2008.
От: Camarada Россия  
Дата: 21.01.10 06:08
Оценка:
В общем ситуация такая.

Есть native cpp static libraries.

Структура солюшена такая:

lib1.lib — самая первоначальная библиотека (использует только сишные и виндовые библиотеки)
lib2.lib — то же, но юзает lib1.lib (не подключается явно, обе либы подключаются в других проектах)
lib3.lib — юзает первые 2 (подключены явно в Additional Dependencies)
dll1.dll — Смешанная Managed C++ DLL, юзает lib3.lib
exe1.exe — MFC приложение, юзает lib3.lib

В общем в lib1.lib был добавлен интерфейс, который реализуют классы из lib1.lib и lib2.lib, а также
нешаблонный класс имеющий отдельные статические шаблонные методы.
После этого добавления

Error 1 error LNK2019: unresolved external symbol "public: static class rcl::ISerializable * __cdecl rcl::Serializer::GetObjectA(class rcl::ISerializable *,class rcl::array<unsigned char> &,int &)" (?GetObjectA@Serializer@rcl@@SAPAVISerializable@2@PAV32@AAV?$array@E@2@AAH@Z) referenced in function "public: static bool __cdecl rcl::Serializer::Deserialize<class path_creator::Path>(class path_creator::Path *,class rcl::array<unsigned char> &,class rcl::array<class path_creator::Path *> &)" (??$Deserialize@VPath@path_creator@@@Serializer@rcl@@SA_NPAVPath@path_creator@@AAV?$array@E@1@AAV?$array@PAVPath@path_creator@@@1@@Z) arm_client.lib ARM

Прикол в том, что выделенная функция называется GetObject, а добавилось A, как будто это произошло автоматически (когда например мы импортим в C# функции из WinAPI)

Может какие-то опции компилятора. Заранее извиняюсь, если не нашел соответствующей темы, спасибо за внимание.
lnk2019 visual studio 2008 library template
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.