|
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