![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
rp80 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 36 Регистрация: 10.9.2011 Пользователь №: 2860 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1. Собираю и запускаю через qt creator. Там соответственно свой мингв. Компилится, запускается и падает на конструкторе потока. 2. Собираю и запускаю с мингв 4.7.0. Здесь не компилится. 6 ошибок вида E:\work\ides_comp\mingw\include\boost_1_47_0\boost\smart_ptr\detail\shared_count.hpp|95| required from 'boost::detail::shared_count::shared_count(Y*) [with Y = boost::error_info<boost::tag_original_exception_type, const std::type_info*>]'| E:\work\ides_comp\mingw\include\boost_1_47_0\boost\exception\detail\exception_ptr.hpp|182| required from 'void boost::unknown_exception::add_original_type(const E&) [with E = std::exception]'| Что-то не так с исключениями что ли.. В чем тут дело? Спасибо. |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
я такой ошибки не видела, но догадываюсь, что это может быть.
в связи с принятием стандарта С++11 многие библиотеки перекочевали из буста в стандарт. в том числе shared_ptr. я подозреваю, что компилятор где-то не может понять, какой из вариантов ему использовать. берёт часть из стандартной библиотеки, а часть - из буста. и это вызывает у него несварение кода. я такое видела с одним из старых бустов и студией. у тебя буст собран тем же компилятором? может, имеет смысл собрать его той же версией и глюк исчезнет. если это действительно конфликт имён, то можно попробовать поставить после include'ов using boost::shared_ptr; возможно, тогде компилятор поймёт, что надо юзать именно этот shared_ptr. Сообщение отредактировал Iron Bug - 24.11.2011, 13:59 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 30.5.2025, 10:59 |