在32位WINDOWS系统上开发64位应用程序
来源:互联网 发布:中文版音乐制作软件 编辑:程序博客网 时间:2024/05/16 17:06
在32位WINDOWS系统上开发64位应用程序
创建 2011-9-2
有些时候需要开发WINDOWS 64位应用程序,但不想安装64位操作系统,所以需要在32位系统下开发64位应用。其步骤并不复杂。
以WINDOWS XP 32位系统和Visual Studio 2008为例,首先保证安装时选择了Visual C++下的x64编译器和工具。
安装完成后,在程序中Visual Studio 2008\VISUAL STUDIO TOOLS下执行Visual Studio 2008 x64 兼容工具命令提示,之后有两种选择
一,在命令行中使用cl (link)命令进行编译 , cl一般会自动调用link,例如
cl First64Test.cpp /EHsc
根据自己的需要选择必要的头文件和库文件,具体选项参考cl的帮助。最后编译生成64位exe,拷贝到64位操作系统的目标计算机运行。
二,在集成开发环境中(IDE)构建
在命令行启动IDE, 加上启动参数/useenv,如devenv /useenv。第一次启动会创建x64解决方案平台,以后可以直接在图形界面启动
创建新的项目,在菜单“生成”下选择“配置管理器”。在活动解决方案平台下拉列表中,选择新建->x64,在项目平台下拉列表中选择新建->x64,也可以先选择项目平台,然后选上新建解决方案单选框。
添加源代码文件等,配置必要的头文件和库文件,并为64位做以下配置
1、 点击菜单"项目"\"属性",打开"配置管理器" \"C++" \"常规",确定"检测64为可移植性问题"为"是(/Wp64)",以保证编译器检查工程的64位可移植性问题。
2、 在"链接器" \"高级",把"目标计算机"改为"未设置";接下来点击左边的"命令行",在"附加选项"中加入"/MACHINE:AMD64"。
3、 编译生成64位exe,
4、 拷贝应用程序到64位操作系统的目标计算机运行。由于IDE编译出来的程序文件,采用了manifest方式来指定dll文件。因此如果是动态链接运行时库,需要拷贝应用程序库文件和Microsoft Visual Studio 9.0\VC\redist\amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest及其下的动态库到目标机器;否则修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。
- 在32位WINDOWS系统上开发64位应用程序
- 在64位Windows上运行32位应用程序[iis]
- Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境
- 在64位Windows 7/2008操作系统上部署32位的Web应用程序错误
- 配置:使安装在64位系统上的IIS7支持32位的应用程序
- 配置:使安装在64位系统上的IIS7支持32位的应用程序
- 32位的Web应用程序在64位的系统上运行
- 64位Windows系统下32位应用程序连接MySql
- 检测windows 32位程序是否运行在64位系统上
- 在windows上编译32位和64位mono
- 32位系统上开发的Access为数据库的程序在64位机器上运行出错的解决办法
- 在64位ubuntu系统上运作32位程序需要安装32位lib
- 解决32位Eclipse和64位Eclipse在64位win7系统上运行问题
- 解决32位Eclipse和64位Eclipse在64位win7系统上运行问题
- 解决32位Eclipse和64位Eclipse在64位win7系统上运行问题
- windows上JIRA的安装部署+破解+汉化 32位系统+64位系统
- 如何在64位系统的IIS中调用32位应用程序集
- 在64位Windows上编译hsdis
- quartz-2.0.2学习小记
- 如何使用eclipse和emulator debug Android source code(JNI以上部分)
- Java 使用Runtime.getRuntime.exec 和 ProcessBuilder 调用外部命令
- WIN XP能上网,win7不能上网解决方案
- 解决prototype.js与jquery.js两个js冲突的办法。
- 在32位WINDOWS系统上开发64位应用程序
- 一些问题的解决方法
- PetShop 4.0 官方详解
- 匿名方法与lambda表达式
- Android 线程和Timer的销毁
- [更新 VMware 8]VMware MAC OS X Snow Leopard 以及lion 方法
- python 线程安全的单例 singleton
- 使用SQLiteDatabase操作SQLite数据库
- Android程序的真正入口Application