По-видимому, есть прототип для конструктора с двумя аргументами, который принимает два unsigned int
с, оба со значением по умолчанию. Следовательно, он становится конструктором по умолчанию, который используется при создании a
. Это этот конструктор :
options_description(unsigned = m_default_line_length,
unsigned = m_default_line_length/2);
Однако это было добавлено в Boost 1.42 и не существует в вашей версии, 1.40.
Так что я думаю, что вам каким-то образом удалось перезаписать заголовки, которые Ubuntu установил для вас, более свежей версией, но не обновил библиотеки в /usr/lib
. Попробуйте удалить и переустановить пакет.
Если вам нужен более новый Boost, чем 1.40, либо обновите Ubuntu, либо удалите все связанные с Boost пакеты и переустановите из источника в /usr/local
. В /usr/local
менеджер пакетов будет держаться подальше от всего, что позволит избежать подобных проблем.