Первое, что нужно сделать, это посмотреть, поддерживает ли ваша версия Boost многопоточность.Компиляция и запуск чего-то вроде следующего должны сказать вам, что:
#include <iostream>
#include <boost/regex.hpp>
int
main()
{
#ifdef BOOST_HAS_THREADS
std::cout << "Boost has threads" << std::endl;
#else
std::cout << "Boost doesn't support threads" << std::endl;
#endif
return 0;
}
Во-вторых, необходимо убедиться, что все требования выполнены.Вы только что опубликовали фактические строки, а не контекст, в котором они выполняются.Если первая строка находится в области имен, у вас должно быть все в порядке (если вы не начали встраивать конструкторы в статические объекты, прежде чем вводить main
: не делайте этого).Если первая строка имеет область видимости блока (т. Е. Находится в функции), то вы в порядке, только если первый вызов этой функции произошел до начала работы с потоками.(Насколько я понимаю, с g ++ у вас должно быть все в порядке, даже если первая строка имеет область видимости блока, но я не уверен.)