关于error LNK2001: unresolved external symbol "__declspec(dllimport) public

         早上用vs2005创建了vc++的MFC Application,要使用别人编译的dll进行压力测试代码的编写。工程属性设置好了,结果调用dll中的一个接口时,出现了下面的错误:
        error LNK2001: unresolved external symbol "__declspec(dllimport) public: int __thiscall sClient::ConnectToServer(wchar_t *,int,int)" ([email=__imp_?ConnectToServer@sClient@@QAEHPA_WHH@Z]__imp_?ConnectToServer@sClient@@QAEHPA_WHH@Z[/email]) GPSSubsequentDlg.obj
       从google上搜了数种解决方案,结果都没能帮助我,后求助同事,发现源码中接口是这样定义的:int ConnectToServer(TCHAR *pszHost, int nPort, int nProtocol)。对比了编译器中的错误提示发现接口的第一个参数,一个是wchar_t *类型,一个是TCHAR*类型。由此估计可能是Unicode搞的鬼。于是修改工程属性,从工程Property Page-General-Charater set修改为Not set,再编译,就OK了。
      因为很久没摸过C++了,所以好些东西都不知道,现在对Unicode和非Unicode也是一知半解。

阅读更多
个人分类: C++
上一篇计算2个SYSTEMTIME的时间差
下一篇char,TCHAR,WCHAR区别
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭