использование Log4cxx в Visual Studio 2012

Я попытался собрать log4cxx для Visual 2012, и после 4 часов исправления ошибок сборка прошла успешно (я не уверен :)).

В качестве второго шага я попытался создать проект vs для проверки ведения журнала. Я использовал этот пример, но он продолжай говорить мне это

mainapp.cpp(2): фатальная ошибка C1083: не удается открыть включаемый файл: «log4cxx\logger.h»: нет такого файла или каталога

Я уже указал в компоновщике путь каталога отладки в дополнительных каталогах библиотек и добавил дополнительные зависимости "log4cxx.lib".

Я в замешательстве и не знаю, как заставить его работать

Заранее спасибо за помощь


person Amine    schedule 21.11.2012    source источник


Ответы (1)


Вам также необходимо добавить каталог, в котором находятся заголовки для log4cxx. Это не для фазы связывания, а для фазы компиляции.

Это можно сделать с помощью Project Properties -> Compiler -> Preprocessor (думаю, у меня сейчас не открыт VS)

Вы не включаете .lib. Этот файл предназначен для ссылки.

Вам нужно добавить в include каталог, который содержит каталог log4cxx, а этот (log4cxx) каталог должен содержать logger.h!

person nothrow    schedule 21.11.2012
comment
спасибо за вашу помощь, я уже добавил путь к каталогам в c/c++->general->дополнительные каталоги включения и дополнительные каталоги #using - person Amine; 21.11.2012
comment
@user1842823 user1842823, если logger.h хранится в c:\libs\log4cxx\logger.h, вам нужно добавить c:\libs к пути включения. Так что не c:\libs\log4cxx в этом примере! Но, пожалуйста, укажите, где вы сохранили logger.h. - person wimh; 21.11.2012
comment
то, что я хочу сделать, это использовать log4cxx.lib, и в моем проекте я включаю ‹log4cxx\logger.h›. Я думаю, что если я добавлю несколько файлов заголовков только для ведения журнала, это бессмысленно. - person Amine; 21.11.2012
comment
я искал учебник, как использовать log4cxx в vs2012, но ничего - person Amine; 21.11.2012
comment
@ user1842823, как объяснил Йоссариан, это ошибка компилятора, а не ошибка компоновщика. Так что это не связано с файлом log4cxx.lib. - person wimh; 21.11.2012
comment
да, я понимаю вас, но у меня все еще есть проблема. любая идея по использованию log4cxx будет полезна - person Amine; 21.11.2012
comment
когда я делаю это :‹br/›‹br/›#include ‹log4cxx.lib› #include ‹apr-1.lib› #include ‹aprutil-1.lib› #include ‹xml.lib› #include ‹log4cxx\ logger.h› #include log4cxx\xml\domconfigurator.h #include ‹windows.h› с использованием пространства имен log4cxx; используя пространство имен log4cxx::xml; используя пространство имен log4cxx::helpers; исходная ошибка diasppair, но вместо этого у меня было это: ‹br/› c:\log_cxx\apache-log4cxx-0.10.0\projects\debug\log4cxx.lib(1): ошибка C2059: синтаксическая ошибка: '‹' 1›c :\log_cxx\apache-log4cxx-0.10.0\projects\debug\log4cxx.lib(2): ошибка C2018: и т. д. ' - person Amine; 22.11.2012
comment
Смотрите редактирование. И узнайте кое-что о C++, прежде чем пытаться использовать какие-либо библиотеки. - person nothrow; 22.11.2012