C++程序32位编译成64位程序,有些项目无法设置为X64

mydrm 2012-10-24 12:56:47
在win7 64位,VS2012环境下:我一个解决方案中有13个项目,以前是32位的,编译运行没问题。现在想编成64位,就按照项目(菜单中)->配置管理器->活动解决方案平台中 将win32改为X64,结果在下面的项目上下文框中只有2个项目变为X64,其他的手工设置也不行,出现 “未能创建此平台,因为已存在同名的解决方案平台”提示,是什么原因?好像也没有地方可以找到他们的X64配置。
...全文
1401 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
llh0205 2014-05-16
  • 打赏
  • 举报
回复
有用 very good!
mydrm 2012-10-25
  • 打赏
  • 举报
回复
谢谢各位的回答,特别是3楼和5楼的,这个问题有了大家的帮助解决了,很高兴。结贴了。
yisikaipu 2012-10-24
  • 打赏
  • 举报
回复
只要有一个项目创建过x64配置,其它项目就不需要勾上那个框框了
yisikaipu 2012-10-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]出现 “未能创建此平台,因为已存在同名的解决方案平台”提示,是什么原因?[/Quote]

VS2012可以配置整个解决方案?

VS2008只能按项目配置,而解决方案只需要创建一个,其它各个项目的配置里,下图的选择框只需要勾一次,否则会重复,提示已经存在同名方案

b13438954778 2012-10-24
  • 打赏
  • 举报
回复
我是64位的,但是6.0还能用,就是感觉BUG有点多
赵4老师 2012-10-24
  • 打赏
  • 举报
回复
就算x64编译通过了,仍要小心检查运行逻辑是否在64位环境下能保持正确。

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vccore/html/d17fb838-7513-4e2d-8b27-a1666f17ad76.htm
Visual C++ 64 位迁移的常见问题
请参见 发送反馈意见


用 Visual C++ 创建在 64 位 Windows 操作系统中运行的应用程序时,应注意以下问题:

在 64 位 Windows 操作系统中,int 和 long 是 32 位值。对于计划为 64 位平台编译的程序,应注意不要将指针赋给 32 位变量。在 64 位平台上,指针为 64 位,如果将该指针赋给 32 位变量,则应截断该指针值。

在 64 位 Windows 操作系统中,size_t、time_t 和 ptrdiff_t 是 64 位值。

在 32 位 Windows 操作系统上 Visual C++ 2005 之前的 Visual C++ 版本中,time_t 是 32 位值。在 Visual C++ 2005 和更高版本中,默认情况下,time_t 是 64 位整数。有关更多信息,请参见时间管理。

应注意代码在哪里采用 int 值并将其作为 size_t 或 time_t 值处理。数字有可能增长得比 32 位数大,并且数据在被传递回 int 存储时有可能被截断。

%x(十六进制 int 格式)printf 修饰符在 64 位 Windows 操作系统中不会按预期的那样工作。它只对传递给它的值的前 32 位值执行操作。

Windows 32 位操作系统使用 %I32x 显示整数。

Windows 64 位操作系统使用 %I64x 显示整数。

%p(指针的十六进制格式)在 64 位 Windows 操作系统中按预期的那样工作。

有关更多信息,请参见:

编译器选项

/Wp64

__w64

Migration Tips

请参见
概念
使用 Visual C++ 进行 64 位编程
移植和升级程序
mydrm 2012-10-24
  • 打赏
  • 举报
回复
看来只有自己回复了,问题刚才自己好好看了一下,这个问题可以单独打开每一个项目的解决方案,然后编译他的x64版本,然后在这个大工程中就可以看到X64编译选项了。
科比布莱恩特 2012-10-24
  • 打赏
  • 举报
回复
没有用过VS2012,只能帮顶。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧