读书人

线程的创建有关问题

发布时间: 2012-07-29 15:26:13 作者: rapoo

线程的创建问题
线程的创建函数为:

我的线程创建函数为:
::CreateThread(NULL,
0,
(LPTHREAD_START_ROUTINE)ThreadProc,
(LPVOID)this,
0,
NULL);
其中在编译的时候,ThreadProc 函数出现错误:
error LNK2019: 无法解析的外部符号 "public: static unsigned long __stdcall CEcuFlashToolDlg::ThreadProc(void *)" (?ThreadProc@CEcuFlashToolDlg@@SGKPAX@Z),该符号在函数 "public: int __thiscall CEcuFlashToolDlg::openUSB(void)" (?openUSB@CEcuFlashToolDlg@@QAEHXZ) 中被引用

我不知道为什么会出现这个情况,希望各位指点一二!!

[解决办法]
给下ThreadProc的定义,是不是定义错了
[解决办法]
ThreadProc要么为全局函数,要么为类的静态成员函数
[解决办法]
result =read(pMsg,20*1000);
-----------这个read是静态的还是全局的,如果都不是会报错
[解决办法]
你的ThreadProc声明了吗?
我只看到他的定义和实现。

你在头文件里加上这个
static DWORD WINAPI ThreadProc(LPVOID lpParameter);
[解决办法]
动态链接库中?你导入库了吗?lib,Dll
[解决办法]
必须是静态函数才行!!

读书人网 >VC/MFC

热点推荐