关于error LNK2001: unresolved external symbol "__declspec(dllimport) public
2009-08-08 16:29
501 查看
早上用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也是一知半解。
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也是一知半解。
相关文章推荐
- 关于"testencodefile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public"
- error LNK2001: unresolved external symbol "__declspec(dllimport) public:
- error LNK2001: unresolved external symbol "__declspec(dllimport) const CNoteMgr::`vftable'"
- Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的
- error LNK2001: unresolved external symbol "__declspec(dllimport) class
- LINK2019: unresolved external symbol "__declspec(dllimport) public: class std::basic_string的解决方案
- 关于 error LNK2001: unresolved external symbol "public: static class CString 错误处理
- error LNK2001: unresolved external symbol "public: virtual enum TCPSError
- 浅析error LNK2001: unresolved external symbol "public: __thisc...
- error LNK2001: unresolved external symbol "public: __thiscall CWinAppEx::CWinAppEx(int)" (??0CWinApp
- error LNK2001: unresolved external symbol "public: static ... 解决一法
- unresolved external symbol "__declspec(dllimport) int __stdcall
- VC引入lib库并解决连接错误unresolved external symbol "__declspec(dllimport) const DllClass::`vftable'" (__imp_?
- error LNK2001: unresolved external symbol "public: __thiscall
- error LNK2001: unresolved external symbol "public: static XXXXXXXXXX
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const (转)
- error LNK2001: unresolved external symbol "public: void __thiscall CDvrRecordOpt::Terminate(void)"
- Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。
- error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const
- 浅析error LNK2001: unresolved external symbol "public: __thisc...