Ошибка связывания журнала ускорения на VS2010 - PullRequest
1 голос
/ 19 сентября 2011

Я пытаюсь собрать и запустить библиотеку Boost.Log на VS2010.

Я взял последние файлы из транка в их SVN.Я перетащил все заголовочные и исходные файлы в проект win32 .exe, настроив все каталоги boost (1.47) include \ lib.Поработав некоторое время с файлом .mc, мне удалось сгенерировать из него заголовочные файлы и файлы .rc.

Также убедился, что для библиотеки времени выполнения установлена ​​многопоточная отладочная DLL (/MDd).

Мой основной файл cpp:

#include "stdafx.h"
#include <boost/log/trivial.hpp>

int _tmain(int argc, _TCHAR* argv[]){
    BOOST_LOG_TRIVIAL(error) << "An error severity message"; }

Все компилируется, но потом я получаю эту ССЫЛКУ об ошибке:

Ошибка LNK1104: не удается открыть файл 'libboost_log_setup-vc100-mt-gd-1_47.lib '

Возникают вопросы: я создаю проект .exe, почему этот файл .lib ищется?У меня есть источники и все.Откуда компоновщик знает имя 'libboost_log_setup-vc100-mt-gd-1_47'?Я не могу найти ни одного из остатков этого в опциях связывания, ни в исходном коде.

Что я могу сделать здесь?

Было бы лучше, если бы кто-то мог направить меня к ужеСоздан и работает VS2010 .lib из Boost.Log.

PS До этого я пытался скомпилировать файл .lib из источников boost.log и использовать его в другом проекте exe..Lib был построен нормально.Но в клиентском проекте я получил ошибки такого рода:

ошибка LNK2019: неразрешенный внешний символ "void __cdecl boost :: log_mt_nt5 :: trivial :: aux :: init (void)" (? Init @ aux @trivial @ log_mt_nt5 @ boost @@ YAXXZ), на который ссылается функция "public: статический класс boost :: log_mt_nt5 :: sources :: severity_logger_mt __cdecl boost :: log_mt_nt5 :: trivial :: logger :: construct_logger (void)" (? construct_logger @ logger)@ тривиальным @ log_mt_nt5 @ подталкивание @@ SA? AV? $ severity_logger_mt @ W4severity_level @ тривиальным @ log_mt_nt5 @ импульс @@@ источников @ 34 @ XZ)

1 Ответ

0 голосов
/ 21 сентября 2011

Boost.Log - скомпилированная библиотека; это должно быть построено. Вы можете создать его с помощью bjam таким же образом, как и остальные компоненты Boost.

Имя файла, которое ищется, является результатом его автоматического связывания. Проверьте для различных вариантов.

...