在MFC做DLL动态链接库时,使用boost,出现断言错误
建立的MFC DLL工程中有使用boost::thread,就会发生compile正常但是一程式执行或者直接编辑就出現ASSERT错误。
错误位置:dllinit.cpp,Line: 587,ASSERT(AfxGetModuleState() != AfxGetAppModuleState());
解決方法就是到boost/libs/thread/src/win32/tss_pe.cpp里面把底下的程式代码注释掉(即把下面的那句代码注释掉)
extern BOOL (WINAPI * const _pRawDllMain)(HANDLE, DWORD, LPVOID)=&dll_callback;
再重新compile boost问题就解决了。
原贴:http://www.68idc.cn/help/buildlang/clang/2013080745246.html