![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
moes |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.2.2007 Репутация: нет Всего: нет |
Проблема в следующем.
Есть проект на с++. Хотелось бы использовать в нем boost библиотеку и в частности shared_ptr. Для каждого классы используеться отдельный заголовочный файл .h и отдельный файл с реализацией .схх. При попытке подключения <boost/shared_ptr.h> в заголовочном файле компилятор gcc4.1.x выюает ошибку Error: G__getvariable: expression /basics/boost/include/boost/config.hpp:23: Error: operator '/' divided by zero /basics/boost/include/boost/config.hpp:23: Error: operator '/' divided by zero /basics/boost/include/boost/config.hpp:23: Syntax Error: <boost/config/user.hpp> /basics/boost/include/boost/config.hpp:23: Error: cannot expand #include BOOST_USER_CONFIG /basics/boost/include/boost/config.hpp:27: Warning: Error occurred during reading source files Warning: Error occurred during dictionary source generation Судя по всему она связана с циклическими зависимостями. При подклбчении того же заголовка в схх файле все компилится, однако необходимо создать переменные класса типа shared_ptr. Выходом было бы forward declaration клоассов для shared_ptr, но тогда придется объявлять члены класса указателями на shared_ptr что не хочется делать. Что посоветуете, кто нибудь сталкивался с подобной проблемой ? |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
все работает. версия буста? |
|||
|
||||
moes |
|
||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 25.2.2007 Репутация: нет Всего: нет |
версия 1.35. вот что написано в одном из коментариев в буст. // // This header can get included by boost/shared_ptr.hpp which leads // to cyclic dependencies, the workaround is to forward declare all // the boost components, and then include the actual headers afterwards. // This is fragile, but seems to work, and doesn't require modification // of boost/shared_ptr.hpp. // |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |