我使用vs2005编译MFC程序,在多线程中创建CSocket类,每当使用Create方法时出错
我使用vs2005编译MFC程序,在多线程中创建CSocket类,每当使用CSocket类的Create方法程序总会出错。我发现当我设置(程序名)属性》配置属性》常规》M...
我使用vs2005编译MFC程序,
在多线程中创建CSocket类,每当使用CSocket类的Create方法程序总会出错。
我发现当我设置 (程序名) 属性》配置属性》常规》MFC的使用 时,
当我把这个选项设置为“在共享DLL中使用MFC”时这个问题就不会出现。
当我设置为“在静态库中使用MFC“时这个问题肯定会出现,
因为我要在其他计算机上运行这个程序,所以必须设置成“在静态库中使用MFC“。
请问这是什么问题?怎么解决?谢谢。
当我设置为“在静态库中使用MFC“时,
使用CSocket类的Create方法就会出现错误并给出下列提示。
Debug Assertion Failed!
Program:(文件目录)
File:f:\rhm\vctools\vc7libs\ship\atlmfc\src\mfc\map_pp.cpp
Line:179
For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts.
下面是“终止”、“重试”、“忽略”三个选项。
在后来的测试中错误中断在了
sockcore.cpp
void PASCAL CAsyncSocket::AttachHandle(
SOCKET hSocket, CAsyncSocket* pSocket, BOOL bDead)
{
......
-> if (pState->m_pmapSocketHandle->IsEmpty()){
...
上
错误报告是"程序名.exe 中的 0x00404bdf 处未处理的异常: 0xC0000005: 读取位置 0x0000000c 时发生访问冲突".
下面说的“ 把工程的编译选项设置为多进程”,请问在哪里设置?vs2005有这个选项么?
哪位高手愿意可以留下E_mail我把我的程序发给你,帮我测试一下,谢谢。 展开
在多线程中创建CSocket类,每当使用CSocket类的Create方法程序总会出错。
我发现当我设置 (程序名) 属性》配置属性》常规》MFC的使用 时,
当我把这个选项设置为“在共享DLL中使用MFC”时这个问题就不会出现。
当我设置为“在静态库中使用MFC“时这个问题肯定会出现,
因为我要在其他计算机上运行这个程序,所以必须设置成“在静态库中使用MFC“。
请问这是什么问题?怎么解决?谢谢。
当我设置为“在静态库中使用MFC“时,
使用CSocket类的Create方法就会出现错误并给出下列提示。
Debug Assertion Failed!
Program:(文件目录)
File:f:\rhm\vctools\vc7libs\ship\atlmfc\src\mfc\map_pp.cpp
Line:179
For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts.
下面是“终止”、“重试”、“忽略”三个选项。
在后来的测试中错误中断在了
sockcore.cpp
void PASCAL CAsyncSocket::AttachHandle(
SOCKET hSocket, CAsyncSocket* pSocket, BOOL bDead)
{
......
-> if (pState->m_pmapSocketHandle->IsEmpty()){
...
上
错误报告是"程序名.exe 中的 0x00404bdf 处未处理的异常: 0xC0000005: 读取位置 0x0000000c 时发生访问冲突".
下面说的“ 把工程的编译选项设置为多进程”,请问在哪里设置?vs2005有这个选项么?
哪位高手愿意可以留下E_mail我把我的程序发给你,帮我测试一下,谢谢。 展开
4个回答
展开全部
其实动态使用在其他计算机上也是可以到,应为win2k以上mfc动态库windows目录下也是有的。不是必须要静态库。
但是你编译的必须是release版,应为一般系统不带debug版本的mfc库。除非装了vc.
2.出问题,请把错误信息给出,帮你分析,比如编译错误,链接错误
但是你编译的必须是release版,应为一般系统不带debug版本的mfc库。除非装了vc.
2.出问题,请把错误信息给出,帮你分析,比如编译错误,链接错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出现Debug Assertion Failed! 时,看一下ASSERT这个断言中的内容是什么,这样就知道出现错误的原因。
此外编译选项的“代码生成/运行时库”设置成多线程调试模式
此外编译选项的“代码生成/运行时库”设置成多线程调试模式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VS2005的C++/MFC应用程序部署问题
http://hi.baidu.com/robinwjbgui/blog/item/8bb75c22363bf1a54723e871.html
完美解决方案。
你可以看一下。
http://hi.baidu.com/robinwjbgui/blog/item/8bb75c22363bf1a54723e871.html
完美解决方案。
你可以看一下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把工程的编译选项设置为多进程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询