C++ 将代码从32位迁移到64位visual studio 2010时出现问题

C++ 将代码从32位迁移到64位visual studio 2010时出现问题,c++,visual-studio-2010,C++,Visual Studio 2010,我按照下面的步骤编译64位代码。所有步骤也都提到了 链接 1) 下载并安装Windows软件开发工具包7.1版。VisualC++ 2010 Express不包含64位编译器,但SDK确实如此。指向SDK的链接: 2)更改项目配置。转到项目的属性。对话框顶部将有一个“配置”下拉菜单。确保选择“所有配置”。还会有一个“平台”下拉列表,显示“Win32”。最后在右侧有一个“配置管理器”按钮-按下它。在弹出的对话框中,找到您的项目,点击平台下拉列表,选择新建,然后选择x64。现在将“活动解决方案平台”

我按照下面的步骤编译64位代码。所有步骤也都提到了 链接

1) 下载并安装Windows软件开发工具包7.1版。VisualC++ 2010 Express不包含64位编译器,但SDK确实如此。指向SDK的链接:

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

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

我还在x64模式下编译代码

但我还是犯了错误

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

请帮我解决这个问题

我的要求是需要启用字符集:使用Unicode字符集(project->General)。所以我不能将字符集设置为未设置。 正如下面提到的链接 您使用的是UNICODE吗?
在这种情况下,LPCTSTR char type是wchar_t

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

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

您应该看到
“配置:调试/发布”
平台:Win32/x64”

您还会看到
“字符集:Unicode/非集”

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

"Character set: Unicode"

可能重复的(请参阅第二个答案,而不是标记为Assution的答案)您可以共享有问题的代码行吗?没有它,很难说任何精确的内容。这里的问题是,我的代码是使用相同的“charter set”成功构建的“:在生成代码win32时使用UNICODE集,但如果在x64中生成代码,则会出现上述错误字符的类型是什么?你能告诉我错误在哪里吗?我可以成功地构建win32,但当我当时尝试使用x64构建时,我面临类型转换错误,如问题中提到的字符类型是什么?我怀疑WCHAR是一种类型,CHAR是另一种类型。它只是在32位上匹配,但在64位上不匹配。是的,你是对的。在不使用显式类型转换的情况下,有没有解决问题的方法?