| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Ошибка с компиляцией. program_options |
| Автор: Хоббит 12.2.2009, 09:37 | ||||
Есть небольшая программа.
На моем компьютере компилируется. Компилирую в kdevelop. Переношу проект на удаленный сервер, на стадии make вылетает такая ошибка. Компилирую make -f Makefile.cvs cd debug; configure; make -k; (выполняю те же команды что и kdevelop)
Кажется самое важное вот это error: aggregate `boost::program_options::positional_options_description pd' has incomplete type and cannot be defined Что делать? boost на компьютере есть, и библиотека подключена к программе. Проблема именно с positional_options. Добавлено через 2 минуты и 4 секунды Если компилировать только входной файл, вот что выходит [ivanov@c3 src]$ g++ progopt.cpp progopt.cpp: In function `int main(int, char**)': progopt.cpp:30: error: aggregate `boost::program_options::positional_options_description pd' has incomplete type and cannot be defined progopt.cpp:39: error: no matching function for call to `boost::program_options::basic_command_line_parser<char>::positional(<type error>)' /usr/include/boost/program_options/detail/parsers.hpp:57: note: candidates are: boost::program_options::basic_command_line_parser<charT>& boost::program_options::basic_command_line_parser<charT>::positional(const boost::program_options::positional_options_description&) [with charT = char] |
| Автор: xvr 12.2.2009, 12:49 |
| Версия boost'а таже? |
| Автор: Хоббит 12.2.2009, 13:41 |
| Как проверить версию boost? В каком файле? |
| Автор: vinick 12.2.2009, 17:20 |
| версия буста лежит в boost/version.hpp У меня на 1.35 твой пример нормально собирается. И по хорошему надо тебе <boost/program_options.hpp> подключить |
| Автор: Хоббит 12.2.2009, 23:31 |
И правда #include <boost/program_options.hpp> помогло... и как я не догадался. А на моем компьютере все собирается без него. |