【发布时间】:2014-12-01 14:55:11
【问题描述】:
发生了一些奇怪的事情。当我在 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++ 中编译......有什么帮助吗?
【问题讨论】:
-
没有看到导致这些错误的代码,真的无法分辨。但至少听起来你的字符类型和代码的编译方式有问题(Unicode 与多字节等)
-
@crashmstr 我不熟悉编译器知识,所以...知道如何绕过这些错误而不实际更改代码吗?
-
@user3478487 坦率地说,这是一个愚蠢的想法。编译器错误意味着代码无效,为什么要绕过它?
-
与其从 VS 开始,不如先尝试让 POCO 工作?可能更容易。它适用于 GCC/MinGW(可能是你以前的编译器,但不是 DevCPP)
-
@close-voters:请不要投票关闭您不知道如何回答的问题,即出于无知。
标签: c++ visual-studio visual-studio-2013 compiler-errors poco