Visual Studio 2013 - C++ Errors
Visual Studio 2013 - C++ Errors
一些
奇怪的事情发生了。当我在 Dev-C++ 中编译我的程序时,它不会给我任何错误并且编译干净。当我把它放在Visual Studio中时,我得到了很多错误:
Error 1 error C2371: 'MailRecipient' : redefinition; different basic types
Error 2 error C3861: 'GetModuleFileName': identifier not found
Error 3 error C2664: 'HRESULT SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR)' : cannot convert argument 5 from 'char [260]' to 'LPWSTR'
Error 4 error C3861: 'CopyFile': identifier not found
Error 5 error C2664: 'BOOL SetFileAttributesW(LPCWSTR,DWORD)' : cannot convert argument 1 from 'char [512]' to 'LPCWSTR'
Error 6 error C2664: 'HRESULT SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR)' : cannot convert argument 5 from 'char [260]' to 'LPWSTR'
Error 7 error C2664: 'BOOL SetFileAttributesW(LPCWSTR,DWORD)' : cannot convert argument 1 from 'char []' to 'LPCWSTR'
Error 8 error C2664: 'LSTATUS RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY)' : cannot convert argument 2 from 'const char [46]' to 'LPCWSTR'
Error 9 error C2664: 'HRESULT SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR)' : cannot convert argument 5 from 'char [260]' to 'LPWSTR'
Error 10 error C2664: 'LSTATUS RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE *,DWORD)' : cannot convert argument 2 from 'const char [9]' to 'LPCWSTR'
这一切都适用于 Dev-C++。我需要在 VS 中编译它,因为我想从 POCO 库中添加一些东西,具有讽刺意味的是,它不能在 Dev-C++ 中编译......有什么帮助吗?
默认情况下,Visual Studio 项目定义UNICODE
。
您可以在项目设置中关闭 Unicode,也可以重新设计程序以使用基于wchar_t
的字符串(例如 L"Blah"
而不是"Blah"
)。
或者,您可以在包括<windows.h>
之前#undef UNICODE
,每个地方。
项目中的 #include 语句似乎存在一些问题。你需要弄清楚为什么MailSender被重新定义。您可能需要调整Visual Studio中的某些项目设置。
此外,正如第一个答案所表明的那样,Visual Studio默认使用UNICODE,这导致它调用Windows API函数的宽字符串版本。您可以使用 std::widen 函数来转换仅用于 Windows API 调用的字符串。有关本主题的详细信息,请参阅 utf8everywhere.org。
相关文章:
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- LNK2005 AND LNK1169 Errors - C++
- C++ errors - C4819, C2761, C2447
- Visual Studio Build Errors not in UI
- STL reverse_iterator errors
- C++ Class Errors
- gnustl (libstdc++) to llvm (libc++ ) errors
- HDF5 + Eclipse CDT errors
- osip library sip errors
- wxSmith Code::Blocks Hello World errors
- SDL errors Visual Studio 2013
- Iomanip errors with std::left/right
- C++ Errors: LNK2001 and LNK1120
- Ubuntu Make File Errors
- Tesseract OCR QT errors
- C4430 and C2146 Visual Studio errors
- VC++ LNK Errors With GLFW
- QSslSocket errors
- 斯特劳斯特鲁普使用C++的购买力平价:第7章,第7节("Recovering from errors")
- DirectX errors Vector3