![]() |
|
![]() ![]() ![]() |
|
DTF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 4.9.2007 Репутация: нет Всего: нет |
Здрасьте все!
Столкнудся я со странной, на мой взгляд, проблемой, про которую ничего не нашел в рунете, а буржнет не особо копал, т.к. не силен в английском. Суть такова: Есть MSVS 2003, есть установленный Boost, и есть моя программа, которая пытается использовать бустовскую многопоточность. В опциях компилятора прописан путь к директории с бустовскими хедерами - $(BOOST) В опциях линкера есть путь к каталогу с либами - $(BOOST)/stage/lib Примитивная программа, которая просто создает поток, компилируется и работает. Однако, проблемы начинаются, когда я вызываю функцию boost::this_thread::interruption_enabled(). На неё ругается линкер:
Я посмотрел в либе boost_thread-vc71-mt-gd-1_44.lib и нашел там функцию ?interruption_enabled@this_thread@boost@@YI_NXZ Как видите, разница с той, которую ждет линкер, в одну букву. На эти имена я натравил майкросовтовский undecorator имен, и получил следующее: Линкер ожидает bool __cdecl boost::this_thread::interruption_enabled(void), а в либе лежит bool __fastcall boost::this_thread::interruption_enabled(void). А теперь вопрос: подскажите плс, что мне сделать, чтобы чертова функция вызывалась? UPD: Проблему решил путем установки флага в опциях компиляции проекта Это сообщение отредактировал(а) DTF - 26.3.2011, 13:16 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |