线程的创建问题
线程的创建函数为:
我的线程创建函数为:
::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
[解决办法]
必须是静态函数才行!!