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



我按照下面的步骤编译64位代码。 所有步骤也提到了如何使用Visual C++ 2010 Express编译64位应用程序? 链接

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

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

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

我也在x64模式下编译代码

我仍然得到以下错误

错误 C2664:无法将参数 1 从"LPCTSTR"转换为"常量 CHAR *">

请帮我解决问题。

我的要求是需要启用字符集:使用Unicode字符集(项目>常规(。 所以我无法将字符集设置为未设置。 如下所述链接 无法将参数 1 从"char"转换为"LPCWSTR">

你使用的是UNICODE吗? 在这种情况下,LPCTSTR 字符类型wchar_t

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

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

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

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

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

"Character set: Unicode"

最新更新