小弟我想将对话框模式中的.cpp文件中的功能分成多个.cpp文件,要如何做
我想将对话框模式中的.cpp文件中的功能分成多个.cpp文件,要怎么做
开发环境:vc6.0+xp系统
我写了一个对话框程序,但是在源文件中要实现的功能有很多,我想把这个cpp文件按功能分成多个文件进行,以便代码维护,代码合在一起运行是正常的,我试着将代码分开,但是一直没有成功,并且报如下错误:
QPSK.cpp
Generating Code...
Linking...
QPSK.obj : error LNK2005: "void * ProcessHandle " (?ProcessHandle@@3PAXA) already defined in newTecADlg.obj
QPSK.obj : error LNK2005: "unsigned long ThreadID " (?ThreadID@@3KA) already defined in newTecADlg.obj
QPSK.obj : error LNK2005: "unsigned long ThreadIDRev " (?ThreadIDRev@@3KA) already defined in newTecADlg.obj
QPSK.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl threadRev(void *) " (?threadRev@@YAIPAX@Z)
QPSK.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl thread(void *) " (?thread@@YAIPAX@Z)
Debug/newTecA.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
------解决方案--------------------
前三个重复定义
后两个需要定义成static
------解决方案--------------------
你拆分的时候,类的声明肯定是放在一个头文件中,类函数可以放在不同的CPP文件中,包含类的头文件就可以了。
如果有全局/外部变量,在类中用extern声明,在其中一个CPP文件中定义就可以了。
开发环境:vc6.0+xp系统
我写了一个对话框程序,但是在源文件中要实现的功能有很多,我想把这个cpp文件按功能分成多个文件进行,以便代码维护,代码合在一起运行是正常的,我试着将代码分开,但是一直没有成功,并且报如下错误:
QPSK.cpp
Generating Code...
Linking...
QPSK.obj : error LNK2005: "void * ProcessHandle " (?ProcessHandle@@3PAXA) already defined in newTecADlg.obj
QPSK.obj : error LNK2005: "unsigned long ThreadID " (?ThreadID@@3KA) already defined in newTecADlg.obj
QPSK.obj : error LNK2005: "unsigned long ThreadIDRev " (?ThreadIDRev@@3KA) already defined in newTecADlg.obj
QPSK.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl threadRev(void *) " (?threadRev@@YAIPAX@Z)
QPSK.obj : error LNK2001: unresolved external symbol "unsigned int __cdecl thread(void *) " (?thread@@YAIPAX@Z)
Debug/newTecA.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
------解决方案--------------------
前三个重复定义
后两个需要定义成static
------解决方案--------------------
你拆分的时候,类的声明肯定是放在一个头文件中,类函数可以放在不同的CPP文件中,包含类的头文件就可以了。
如果有全局/外部变量,在类中用extern声明,在其中一个CPP文件中定义就可以了。