Как создать фиксированную внутреннюю DLL для Pantheios logger - PullRequest
5 голосов
/ 10 ноября 2009

У меня есть решение VS 2005, которое имеет множество проектов (большинство из них DLL, 1 EXE, который является проектом CppUnit), и я пытаюсь добавить фиксированную внутреннюю DLL для регистратора Pantheios, чтобы я мог использовать один регистратор экземпляр во всем решении. Следуя инструкциям из приведенных ниже URL:

Кажется, у меня есть фиксированная внутренняя библиотека DLL, которая поддерживает базовые операторы журналирования Pantheios, например, log_DEBUG, log_ERROR и т. Д. И даже API-интерфейс трассировки (http://www.pantheios.org/doc/html/group__group____tracing.html), например, PANTHEIOS_TRACE_NOTICE.

Но я застрял, идя вперед, потому что Pantheios требует «вставки» (API для преобразования фундаментальных типов в строку) (http://www.pantheios.org/doc/html/group__group____application__layer__interface____inserters.html) для обработки, например, int, double, float, pointer и т. Д.

Я не знаю, как реализовать эти «вставки» в созданной мной фиксированной фоновой DLL. Если я просто вызываю их из других моих библиотек DLL, я получаю сообщение об ошибке, например:

DLLApp.obj : error LNK2019: unresolved external symbol "public: __thiscall pantheios::integer::integer(int,int)" (??0integer@pantheios@@QAE@HH@Z) referenced in function "public: void __thiscall DLLApp::DLLAppSetup(void)" (?DLLAppSetup@DLLApp@@QAEXXZ)

Я не уверен, что смогу (и должен ли) экспортировать класс "integer" (и другой модуль вставки), используя .DEF, как упомянуто в статье sourceforge.net, ИЛИ если есть что-то еще, что мне не хватает. *

Любая помощь будет наиболее ценной. Заранее спасибо.

1 Ответ

1 голос
/ 13 марта 2012

На странице свойств проекта измените набор символов на «Использовать многобайтовый набор символов»

...