MFC ASSERT в строке 703 dllinit.cpp при использовании Boost.Log (или Boost.Thread)

Я получаю утверждение в dllinit.cpp, когда пытаюсь использовать Boost.Log в одной из моих библиотек DLL.

У меня есть tools.dll, который содержит мою возможность ведения журнала, и я попытался реализовать запись вещей с помощью Boost.Log.
На этот файл tools.dll ссылается другой файл helper.dll, и в приложении используются обе библиотеки DLL.

Однако, когда я запускаю приложение, я получаю ASSERT.

Это происходит с Boost 1.54 и (включая) Boost.Log, а также с Boost 1.48 и Boost.Log 1.1.

Я копался во многих списках рассылки и старых сообщениях. Что я понял до сих пор, есть проблема с указателем _pRawDllMain в Boost. Thread, некоторые предложили закомментировать его в

#include <boost/thread/detail/tss_hooks.hpp>

но это приводит к утечкам памяти?
это нить сказал, что это будет исправлено после 1.40, но я не знаю, было ли это сделано.
Динамическое связывание с Boost как предложено Вот не помогло.

Спрашивая повышения пользователей пока не помогло.

Любые намеки, что я должен проверить?

РЕДАКТИРОВАТЬ:
Он настроен как стандартная DLL, но есть зависимость от MFC100.dll, потому что я использую API из afxwin.h для получения информации о версии приложений.

1

Решение

Поэтому я удалил зависимость от MFC100.dll (GetVersionInfo работает без afxwin.h) в tools.dll, чтобы больше не было зависимости от MFC100.dll в helper.dll.

Наконец, ни одна из моих DLL не зависит от MFC, поэтому ASSERT также исчез. Спасибо xMRi!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector