标题TCP.h
class CTCPcomm {
public:
CTCPcomm(bool bOverLapped = false, long lTimeOut = 0);
~CTCPcomm(void);
TCP.cpp类
CTCPcomm::CTCPcomm ( bool bOverLapped, long lTimeout ) {
.......
}
CTCPcomm::~CTCPcomm ( void ) {
.......
}
这是为plc_test.cpp
调用的int main(){
CTCPcomm m_TCPcon(true, lTimeout);
.......
}
这给了我错误,
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "public: __thiscall CTCPcomm::CTCPcomm(bool,long)" (??0CTCPcomm@@QAE@_NJ@Z) referenced in function "void __cdecl `dynamic initializer for 'm_TCPcon''(void)" (?? __Em_TCPcon@@YAXXZ) plc_test
Severity Code Description Project File Line Suppression State Error LNK2019 unresolved external symbol "public: __thiscall CTCPcomm::~CTCPcomm(void)" (??1CTCPcomm@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'm_TCPcon''(void)" (??__Fm_TCPcon@@YAXXZ) plc_test
我正在使用Visual Studio 2015,并将其编译为.exe文件。 我已阅读了许多帖子,但他们说要将执行类型更改为.lib 但我希望这个项目是一个可执行文件,所以我想坚持使用.exe 如果编译为.lib而不是.exe,为什么编译没有错误? 如果我想将它作为.exe执行而没有错误,该怎么办?
答案 0 :(得分:0)
我将上面的代码放在Visual Studio 2015项目上,它在x86和x64中都可以正常工作(编译为exe)。
你还在做什么?除了你所展示的,你只需要:
#include "TCPcomm.h"
//在#include" stdafx.h"
之后
和
long lTimeout = 10;
//在主