Компилятор MS Visual C++ 2010, Boost 1.49.
В Интернете встречаются обсуждения, но решения проблемы я не нашёл. Как выглядит, пример:
1>World.obj : error LNK2001: неразрешенный внешний символ
public: static class boost::exception_ptr const \
boost::exception_detail\
::exception_ptr_static_exception_object::e \
(?e@?$exception_ptr_static_exception_object\
@Ubad_alloc_@exception_detail@boost\
@@@exception_detail@boost@@2Vexception_ptr@3@B)
Как исправить.
Вариант I. Не использовать предварительно откомпилированный заголовок. Это удобное решение для маленького проекта. Когда проект большой, заметны последствия: время компиляции значительно увеличивается.
Вариант II. Переместить
#include <boost/thread.hpp>
из файла предварительно откомпилированного заголовка в файлы, где используются потоки. Больше движений, но без последствий для проектов любого размера.
2 комментария:
В чем причина так и не понятно?
В моём случае не было потребности копать глубже.
Отправить комментарий