Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с boost::this_thread::interruption_point, не линкуется 
V
    Опции темы
DTF
Дата 26.3.2011, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 4.9.2007

Репутация: нет
Всего: нет



Здрасьте все!
Столкнудся я со странной, на мой взгляд, проблемой, про которую ничего не нашел в рунете,
а буржнет не особо копал, т.к. не силен в английском.

Суть такова:
Есть MSVS 2003, есть установленный Boost, и есть моя программа, которая 
пытается использовать бустовскую многопоточность.

В опциях компилятора прописан путь к директории с бустовскими хедерами - $(BOOST)
В опциях линкера есть путь к каталогу с либами - $(BOOST)/stage/lib

Примитивная программа, которая просто создает поток, компилируется и работает.

Однако, проблемы начинаются, когда я вызываю функцию boost::this_thread::interruption_enabled().

На неё ругается линкер:
Цитата

boostthread2 error LNK2019: unresolved external symbol "bool __cdecl boost::this_thread::interruption_enabled(void)" (?interruption_enabled@this_thread@boost@@YA_NXZ) referenced in function _main


Я посмотрел в либе 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
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.