to ahao(天·狼·星星) 还是没用,现在我调整了一下lib的链接顺序,就只剩下下面的警告了,不知对程序运行有没有什么影响? warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
to strip(阿飞) 在调用socket创建函数Create(port)时,程序再也无法运行或跟踪调试下去。
to ahao(天·狼·星星) 程序运行不下去,没有返回值,如果按F10的话就弹出一个错误对话框,然后还停在那里,对话框和访问地址为00000里的数据时报错的消息一样
你的socket是什么?CSocket* socket? new了吗?
to ahao(天·狼·星星) 那是我从CAsyncSocket派生出的一个类,将该类单独放入一个工程调试通过,工作正常。
还是没用,现在我调整了一下lib的链接顺序,就只剩下下面的警告了,不知对程序运行有没有什么影响? warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library #pragma comment(linker, "/NOD") #pragma comment(lib, "Libcmtd.lib") #pragma comment(lib, "Libcimtd.lib")
头都大了,错误又变成 Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex VC真烦人
to ericzhangali(卖女孩的小火柴) 那该咋办啊?
http://www.csdn.net/expert/topic/544/544226.xml
看callstack,你就知道到底哪里出错了
_ b e g i n t h r e a d e x 函数只存在于C / C + +运行期库的多线程版本中。如果链接到单线程运 行期库,就会得到一个链接程序报告的“未转换的外部符号”错误消息。当然,从设计上讲, 这个错误的原因是单线程库在多线程应用程序中不能正确地运行。另外需要注意,当创建一个 新项目时,Visual Studio 默认选定单线程库。这并不是最安全的默认设置,对于多线程应用程 序来说,必须显式转换到多线程的C / C + +运行期库。
to strip(阿飞) 停在调用socket创建函数Create(port)时 to ahao(天·狼·星星) 具体怎么用callstack查错啊 to ericzhangali(卖女孩的小火柴) 那我该咋办啊,把选项改成多线程也不行啊
to jeffchen(Jeff) 调了 另外我发现当把它单独放在一个工程里时就工作正常。但当把它在CreateThread()函数中声明并使用时,客户端可以连上,但在该类里OnAccept()和OnReceive()函数上的断点均没有反应,即用Go运行程序时,客户端连上该监听该端口,但程序没有在断点处停下。我也在OnAccept()和OnReceive()中也进行消息输出,但实际上没有输出,不知为何?
还是不行
以前也碰到过这种问题,当时调整了一下“#include..”的先后次序就解决了,但这次文件比较多,没上次好弄
http://support.microsoft.com/support/kb/articles/Q148/6/52.ASP另外一个你可以试试的是:
把#include <afxwin.h>放到所有的#include之前
现在只剩下
Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
了,不知有何建议
debug mutithreaded dll
还是没用,现在我调整了一下lib的链接顺序,就只剩下下面的警告了,不知对程序运行有没有什么影响?
warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
在调用socket创建函数Create(port)时,程序再也无法运行或跟踪调试下去。
程序运行不下去,没有返回值,如果按F10的话就弹出一个错误对话框,然后还停在那里,对话框和访问地址为00000里的数据时报错的消息一样
new了吗?
那是我从CAsyncSocket派生出的一个类,将该类单独放入一个工程调试通过,工作正常。
或是在菜单的Project-> Setting-> link-> Object/library Module中加入Ws2_32.lib,
warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
#pragma comment(linker, "/NOD")
#pragma comment(lib, "Libcmtd.lib")
#pragma comment(lib, "Libcimtd.lib")
Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
VC真烦人
那该咋办啊?
行期库,就会得到一个链接程序报告的“未转换的外部符号”错误消息。当然,从设计上讲,
这个错误的原因是单线程库在多线程应用程序中不能正确地运行。另外需要注意,当创建一个
新项目时,Visual Studio 默认选定单线程库。这并不是最安全的默认设置,对于多线程应用程
序来说,必须显式转换到多线程的C / C + +运行期库。
停在调用socket创建函数Create(port)时
to ahao(天·狼·星星)
具体怎么用callstack查错啊
to ericzhangali(卖女孩的小火柴)
那我该咋办啊,把选项改成多线程也不行啊
调了
另外我发现当把它单独放在一个工程里时就工作正常。但当把它在CreateThread()函数中声明并使用时,客户端可以连上,但在该类里OnAccept()和OnReceive()函数上的断点均没有反应,即用Go运行程序时,客户端连上该监听该端口,但程序没有在断点处停下。我也在OnAccept()和OnReceive()中也进行消息输出,但实际上没有输出,不知为何?
不能删afxsock.h那就删掉和他重复的其他header file!