在将代码从32位迁移到64位Visual Studio 2010时出现问题

时间:2018-08-08 12:43:07

标签: c++ visual-studio-2010

我按照下面的步骤来编译64位代码。 How to compile a 64-bit application using Visual C++ 2010 Express?中也提到了所有步骤 链接

1)下载并安装Windows软件开发工具包7.1版。 Visual C ++ 2010 Express不包含64位编译器,但SDK包含。 SDK的链接:http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx

2)更改项目配置。转到项目的属性。在对话框的顶部,将有一个“配置”下拉菜单。确保选择“所有配置”。也将有一个“平台”下拉菜单,显示为“ Win32”。最后,在右侧有一个“配置管理器”按钮-按下它。在出现的对话框中,找到您的项目,点击Platform下拉菜单,选择New,然后选择x64。现在,将“活动解决方案平台”下拉菜单更改为“ x64”。当您返回到“属性”对话框时,“平台”下拉列表现在应显示为“ x64”。

3)最后,更改工具集。在项目的“属性”菜单中的“配置属性” |“配置”下。常规,将“平台工具集”从“ v100”更改为“ Windows7.1SDK”。

我也在x64模式下编译代码

仍然我遇到错误

错误C2664:无法将参数1从'LPCTSTR'转换为'const CHAR *'

请帮助我解决问题。

我的要求是需要启用字符集:使用Unicode字符集(项目->常规)。所以这我不能将字符集设置为未设置。 如下面提到的链接 cannot convert parameter 1 from 'char' to 'LPCWSTR'

2 个答案:

答案 0 :(得分:0)

您是否正在使用UNICODE? 在这种情况下,LPCTSTR char类型为wchar_t

答案 1 :(得分:0)

Visual Studio允许x64和x32使用不同的配置,它还允许调试和发布模式使用不同的配置。这些配置中的每一个都可以具有不同的字符编码。您必须手动更改配置,以便它们都使用相同的字符编码。

在主菜单中,单击项目->属性。

您应该看到"Configuration: Debug/Release"Platform: Win32/x64"

您还会看到"Character set: Unicode/Not-set"

推荐使用

Unicode。确保所有4种配置都使用

"Character set: Unicode"