无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
2013-03-20 18:09
661 查看
使用VS 2008(带sp1)编译一个ATL控件工程,出现下面一个编译错误:
“error LNK2019: 无法解析的外部符号 "wchar_t * __stdcall_com_util::ConvertStringToBSTR(char const *)"(?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z),该符号在函数 "public: __thiscall _bstr_t::Data_t::Data_t(char const*)" (??0Data_t@_bstr_t@@QAE@PBD@Z) 中被引用
”。
对付这个错误有两个解决办法:
1. 可以通过改工程设置解决
Configuration Properties-> C/C++-> Language
Treat wchar_t as Built-in Type = No
同时添加一个附加库:comsupp.lib
2. 或者将工程设置改为:
Configuration Properties-> C/C++->Language
Treat wchar_t as Built-in Type = Yes
同时添加一个附加库:comsuppw.lib
1、加载静态库文件
方法一:
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> General -> Additional Library Directories",选择静态库文件所在的文件夹(相对目录或绝对目录都行,这些目录只告诉编译器去哪里寻找这些库文件,并没有把那里面的库文件加入工程;若不设置,编译报错:无法打开***文件。)
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的名称。
方法二:
点击“Tools -> Options -> Projects and Solutions -> VC++ Directories -> Library files", 选择静态库文件所在的文件夹(绝对目录,这些目录只告诉编译器去哪里寻找这些库文件,并没有把那里面的库文件加入工程;若不设置,编译报错:无法打开***文件。)
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的名称。
方法三:
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的完整路径(绝对目录+名称)。路径中使用单斜杠“/”。
方法四:
使用#pragma comment(lib, “xxxxx.lib”) ”语句,xxxxx.lib是静态库文件的完整路径(绝对目录+名称)。路径中使用单斜杠“/”。
2、加载包含文件
方法一:
点击“Project -> XXX Properties... -> Configuration Properties -> C/C++ -> General -> Additional Include Directories",选择包含文件所在的文件夹(相对目录或绝对目录都行)。
方法二:
点击“Tools -> Options -> Projects and Solutions -> VC++ Directories -> Include files",选择包含文件所在的文件夹(绝对目录)。
“error LNK2019: 无法解析的外部符号 "wchar_t * __stdcall_com_util::ConvertStringToBSTR(char const *)"(?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z),该符号在函数 "public: __thiscall _bstr_t::Data_t::Data_t(char const*)" (??0Data_t@_bstr_t@@QAE@PBD@Z) 中被引用
”。
对付这个错误有两个解决办法:
1. 可以通过改工程设置解决
Configuration Properties-> C/C++-> Language
Treat wchar_t as Built-in Type = No
同时添加一个附加库:comsupp.lib
2. 或者将工程设置改为:
Configuration Properties-> C/C++->Language
Treat wchar_t as Built-in Type = Yes
同时添加一个附加库:comsuppw.lib
1、加载静态库文件
方法一:
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> General -> Additional Library Directories",选择静态库文件所在的文件夹(相对目录或绝对目录都行,这些目录只告诉编译器去哪里寻找这些库文件,并没有把那里面的库文件加入工程;若不设置,编译报错:无法打开***文件。)
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的名称。
方法二:
点击“Tools -> Options -> Projects and Solutions -> VC++ Directories -> Library files", 选择静态库文件所在的文件夹(绝对目录,这些目录只告诉编译器去哪里寻找这些库文件,并没有把那里面的库文件加入工程;若不设置,编译报错:无法打开***文件。)
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的名称。
方法三:
点击“Project -> XXX Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies",填写静态库文件的完整路径(绝对目录+名称)。路径中使用单斜杠“/”。
方法四:
使用#pragma comment(lib, “xxxxx.lib”) ”语句,xxxxx.lib是静态库文件的完整路径(绝对目录+名称)。路径中使用单斜杠“/”。
2、加载包含文件
方法一:
点击“Project -> XXX Properties... -> Configuration Properties -> C/C++ -> General -> Additional Include Directories",选择包含文件所在的文件夹(相对目录或绝对目录都行)。
方法二:
点击“Tools -> Options -> Projects and Solutions -> VC++ Directories -> Include files",选择包含文件所在的文件夹(绝对目录)。
相关文章推荐
- 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
- 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
- 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
- LNK2019: 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"解决方案
- error LNK2019: 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"
- bstr error LNK2019: 无法解析的外部符号 "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)" 的解决办法
- ATL 中调用ConvertBSTRToString报错无法解析的外部符号 "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)
- error LNK2019: 无法解析的外部符号 "char * __stdcall _com_util::ConvertBSTRToString(转)
- error LNK2001: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > 的解决办法
- "error LNK2019: 无法解析的外部符号"错误的解决办法
- 关于链接时找不到_com_util::ConvertStringToBSTR()与_com_util::ConvertBSTRToString()的解决办法
- 使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,
- error LNK2019: 无法解析的外部符号 "int __stdcall lstrlenWInternal(unsigned short const *)" (?lstrlenWInternal
- Error LNK2019: unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)"
- VC编译错误:error LNK2019: 无法解析的外部符号 "void __stdcall _com_issue_error(long)" (?_com_issue_error@@YGXJ@Z),该符号在函数 "void __cdecl _com_ut
- QT中添加Q_OBJECT时编译提示obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const错误解决方法
- error LNK2001: unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *
- error LNK2001: unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(wchar_t
- Qt 在VS下使用添加新类后报错LNK2019无法解析的外部符号解决办法
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法