Я пытаюсь следовать простому учебному руководству Повышения:: Поток (ver 1.4-3) в VS 2008:
#include <boost/thread/thread.hpp>
void Func()
{
// Do something
}
void main()
{
boost::thread _thrd(&Func);
_thrd.join();
....
}
Во время компиляции это производит эту ошибку:
Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_43.lib' CConsole
который я должен разрешить путем добавления #define BOOST_ALL_NO_LIB
. Однако это дает мне другую ошибку:
Error 3 fatal error LNK1120: 2 unresolved externals
C:\xx\Documents\Visual Studio 2008\Projects\CConsole\Debug\CConsole.exe
Error 1 error LNK2019: unresolved external symbol "public: __thiscall boost::thread::~thread(void)" (??1thread@boost@@QAE@XZ) referenced in function _wmain CConsole.obj
Error 2 error LNK2019: unresolved external symbol "private: void __thiscall boost::thread::start_thread(void)" (?start_thread@thread@boost@@AAEXXZ) referenced in function "public: __thiscall boost::thread::thread<void (__cdecl*)(void)>(void (__cdecl*)(void),struct boost::thread::dummy *)" (??$?0P6AXXZ@thread@boost@@QAE@P6AXXZPAUdummy@01@@Z) CConsole.obj
Кто-либо знает, как решить вопрос?
Спасибо.
Вам нужно как создать библиотеку Boost Thread, так и указать Visual Studio, где находится библиотека. Все это задокументировано в документации по началу работы (например, Начало работы в Windows ). В частности, прочтите раздел 5 , а затем раздел 6 .
PS. Вам необходимо убедиться, что ваша конфигурация сборки соответствует тому, что у вас установлено в VS. В разделе «Приступая к работе» объясняются различные варианты сборки.