【boost】MFC dll中应用boost thread的题目
添加时间:2013-7-30 点击量:
项目须要,在MFC dll中应用了boost thread(<boost/thread.hpp>),LoadLibraryEx的时辰呈现断言错误,去掉thread库引用后断言消散。
百度google后,在CSDN中找到一个答案,先贴出来:
{
boost::thread + MFC DLL 問題 根蒂根基上這個問題在boost 1.38就有了,只是沒想到更新成boost 1.45後問題還是沒有解決... 若是是应用MFC开辟法度 ,又剛好建树的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://bbs.csdn.net/topics/330229744
项目须要,在MFC dll中应用了boost thread(<boost/thread.hpp>),LoadLibraryEx的时辰呈现断言错误,去掉thread库引用后断言消散。
百度google后,在CSDN中找到一个答案,先贴出来:
{
boost::thread + MFC DLL 問題 根蒂根基上這個問題在boost 1.38就有了,只是沒想到更新成boost 1.45後問題還是沒有解決... 若是是应用MFC开辟法度 ,又剛好建树的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://bbs.csdn.net/topics/330229744