LNK2019关于传参数使用const char*和char*链接时“无法解析的外部符号”问题。

最近刚换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在编译约束上严格了很多。请赐教。

你调用的时候m_pSession->SendData1(data,len);
data是什么类型,你也传递const char*类型

m_pSession->SendData1(data,len);

CTCPSession::SendData1(char const *) 参数个数都不对。。