Boost logo

Boost Users :

Subject: [Boost-users] Boost::Thread referenced to a MFC regular dll, assertion error occur while loading this dll
From: DDGG (ddcatgg_at_[hidden])
Date: 2010-04-15 04:37:02


Hello everyone!

I created a new VC2008 MFC regular dll project, do nothing but insert a line in
stdafx.h:
#include <boost/thread.hpp>

Then I exported a do-nothing function at the dll's head file:
extern "C" __declspec(dllexport) void DllFunc()
{
}

After I compiled the proejct, I got a dll file and a lib file.

I created a MFC dialog project, implicit call to the dll, that's:
1) #include the dll's head file
2) use #pragma comment(lib, "...") to import the dll's lib file
3) make a call to the DllFunc in dll

I run the dialog project in the debug mode, and got an assertion error:

void AFXAPI AfxCoreInitModule()
{
    ASSERT(AfxGetModuleState() != AfxGetAppModuleState()); // assertion error
    // the return value of AfxGetModuleState() and AfxGetAppModuleState() are
both not-empty,
    // but they are not the same.
...
}

Could anybody help me? thanks!

My boost version is 1.38, 1.42 also tried.
Compiler: Microsoft VC2008 (SP1)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net