最近刚换VS2013,此问题之前的项目都没有最近发生的感觉很诧异。
A为可执行文件。
B为lib库。(为我自己写的,其他本库函数都调用正常,所以肯定不是库加载问题。)
其中B有一函数,声明为void sendData1(const char* data, int len);
当参数为const char*,如果A使用m_pSession->SendData1(data,len);
则报错
error LNK2019: 无法解析的外部符号 "public: bool __thiscall CTCPSession::SendData1(char const *)" (?SendData1@CTCPSession@@QAE_NPBD@Z),该符号在函数 "public: void __thiscall CNetPlayer::sendData(char const *,int)" (?sendData@CNetPlayer@@QAEXPBDH@Z) 中被引用
1>F:\minicraft\dev\server\AllServer\AllServer\Debug\GameServer.exe : fatal error LNK1120: 1 个无法解析的外部命令
如果参数为char*,则可以编译通过,但健壮性从此无法保障。请问大家遇到过类似问题么,因为代码是老的,以前的vs2005没有过,想问下这个是我用的问题还是vs2013新整出来的。据我所知,vs 2013在编译约束上严格了很多。请赐教。