Код:
CXX util.o
В файле включены из util.cpp: 69: 0:
/usr/include/boost/program_options/detail/config_file.hpp: В конкретизации «BOOL повышение :: program_options :: подробнее :: basic_config_file_iterator<диаграмма>:: GetLine (станд :: строка&) [С = ДИАГРАММОЙ полукокса; станд :: строка = станд :: basic_string<голец>]:
util.cpp: 1429: 1: требуется здесь
/usr/include/boost/program_options/detail/config_file.hpp:164:13: ошибка: «to_internal» не был объявлен в этой области, и никаких деклараций не были найдены с помощью аргумента-зависимого поиска в точке конкретизации [-fpermissive]
В файл из /usr/include/boost/program_options/detail/parsers.hpp:9:0,
от /usr/include/boost/program_options/parsers.hpp:265,
от util.cpp: 70:
/usr/include/boost/program_options/detail/convert.hpp:75:34: примечание: «шаблон<класс T> станд :: вектор<станд :: basic_string<голец> > повышение :: program_options :: to_internal (константный зЬй :: вектор&)»Объявил здесь, позже в ЕП
сделать [3]: *** [util.o] Ошибка 1
В файле включены из util.cpp: 69: 0:
/usr/include/boost/program_options/detail/config_file.hpp: В конкретизации «BOOL повышение :: program_options :: подробнее :: basic_config_file_iterator<диаграмма>:: GetLine (станд :: строка&) [С = ДИАГРАММОЙ полукокса; станд :: строка = станд :: basic_string<голец>]:
util.cpp: 1429: 1: требуется здесь
/usr/include/boost/program_options/detail/config_file.hpp:164:13: ошибка: «to_internal» не был объявлен в этой области, и никаких деклараций не были найдены с помощью аргумента-зависимого поиска в точке конкретизации [-fpermissive]
В файл из /usr/include/boost/program_options/detail/parsers.hpp:9:0,
от /usr/include/boost/program_options/parsers.hpp:265,
от util.cpp: 70:
/usr/include/boost/program_options/detail/convert.hpp:75:34: примечание: «шаблон<класс T> станд :: вектор<станд :: basic_string<голец> > повышение :: program_options :: to_internal (константный зЬй :: вектор
сделать [3]: *** [util.o] Ошибка 1
Linux, libboost 1.49.0 и GCC 4.7.2.
При поиске подобных проблем и решений, я обнаружил, что эта проблема в Bitcoin была ликвидирована около 2 лет назад. Я нашел даже специальные обходные пути в util.cpp (Bitcoin) и config_file.hpp (libboost включает) код. Но теперь, когда я вижу, эта проблема снова.
Версия 0.8.6 компилируется без каких-либо проблем. Я попытался скомпилировать 0.9.0 на другом дистрибутиве с libboost 1,53, и это работает. Но мне нужно 0.9.0 на моем «верный и» дистрибутиве ...
Я никогда не использовал libboost в своих программах и теперь пытаюсь понять, что происходит, но все-таки успеха.
Может кто-нибудь помочь?