Я пытаюсь использовать log4cplus в качестве регистратора в своем проекте. Я загрузил и скомпилировал log4cplus в VS2013 как «Debug_Unicode», так и «Release_Unicode» успешно (проект успешно компилируется в Release and Debug).log4cplus нерешенный внешний символ LNK2001
В моей 'Project Properties-> Конфигурация Свойства' Я добавил:
- 'log4cplus \ включают' к '/ C++ C -> Все Настройки-> Дополнительные каталоги включения'
- «log4cplus \ msvc10 \ Win32 \ obj.log4cplus.Release_Unicode»к ' Linker-> Все Options-> Дополнительная каталогов библиотек'
- 'log4cplusu.lib' в 'Linker-> Все Options-> Дополнительные зависимости'
Я также убедился, что я использую ту же библиотеку времени выполнения, в моем случае многопоточную DLL (/ MD), как в проекте log4cplus, так и в моем собственном проекте.
Но когда я пытаюсь построить мой проект я получаю следующие ошибки ссылка:
error LNK2001: unresolved external symbol "class std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> > & __cdecl log4cplus::detail::get_macro_body_oss(void)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@XZ) error LNK2001: unresolved external symbol "void __cdecl log4cplus::detail::macro_forced_log(class log4cplus::Logger const &,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *,int,char const *)" ([email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) fatal error LNK1120: 2 unresolved externals
Я столкнулся с аналогичной проблемой с Qt, где следующая ссылка имела подходящее решение для меня: http://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal Конечно, взлом Q_OBJECT не будет работать ... – stefaanv