野百合也有春天

导航

MFC dll 与 boost 静态库的兼容性问题[转]

基本上這個問題在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://topic.csdn.net/u/20100414/12/d94bdb57-6784-4abb-92e9-ffd4e49786e8.html

posted on 2012-10-13 15:23  flydream  阅读(404)  评论(0编辑  收藏  举报