如何在64位机器上运行32位程序
2011-07-19 13:46
288 查看
先介绍一下平台
系统:windows server 2008
网络服务:IIS 7.0
需要在web程序里面调用以前封装的c++的dll
工欲善其事,必先利其器。
由于手头没有可安装在64位机器上的vs2008,
于是安装vs2010,由于向下兼容,可以放心的用
有两种思路:
一个是将web程序和c++的dll都编译成64位的
另一种是都编译成32位的
这两种方法我都试过,由于没接触过c++,第一种涉及到
要修改c++代码等工作,走不通,于是放弃,采用第二种方法
为什么在64位机器上可以调用32位的dll,看如下的文章
http://baike.baidu.com/view/3403344.html?fromTaglist
/article/4787538.html
http://kb.cnblogs.com/a/1662767/
http://s.yanghao.org/program/viewdetail.php?i=50570
第一步需要编译web程序,注意选择x86作为目标机器
而不是any cpu。any cpu会根据你的操作系统来选择
到底是64位还是32位。
第二步是建立在你手头有c++源代码。以前编译过的
在win32下的dll这时不能使用,会出现“应用程序的并行配置不正确”
的错误。于是需要重新编译成dll。
由于在64位机器上打开c++源代码有错误。我是在本机上进行重新编译的。
第三步entrypoint name有可能会发生改变。当报“找不到入口点”
错误时,你需要在dependends里面打开该dll,查看每个入口点名字是否符合
第四步 解决调试时带来的问题,我用try catch来捕捉错误,结果导致了
“Thread was being aborted的错误”,解决办法就是去掉try catch
请参照:http://archive.cnblogs.com/a/1963748/
第五步 直接在vs中运行程序ok,但是发布后再运行报错”无法识别的属性targetFramework“
解决办法:参看/article/5659967.html
系统:windows server 2008
网络服务:IIS 7.0
需要在web程序里面调用以前封装的c++的dll
工欲善其事,必先利其器。
由于手头没有可安装在64位机器上的vs2008,
于是安装vs2010,由于向下兼容,可以放心的用
有两种思路:
一个是将web程序和c++的dll都编译成64位的
另一种是都编译成32位的
这两种方法我都试过,由于没接触过c++,第一种涉及到
要修改c++代码等工作,走不通,于是放弃,采用第二种方法
为什么在64位机器上可以调用32位的dll,看如下的文章
http://baike.baidu.com/view/3403344.html?fromTaglist
/article/4787538.html
http://kb.cnblogs.com/a/1662767/
http://s.yanghao.org/program/viewdetail.php?i=50570
第一步需要编译web程序,注意选择x86作为目标机器
而不是any cpu。any cpu会根据你的操作系统来选择
到底是64位还是32位。
第二步是建立在你手头有c++源代码。以前编译过的
在win32下的dll这时不能使用,会出现“应用程序的并行配置不正确”
的错误。于是需要重新编译成dll。
由于在64位机器上打开c++源代码有错误。我是在本机上进行重新编译的。
第三步entrypoint name有可能会发生改变。当报“找不到入口点”
错误时,你需要在dependends里面打开该dll,查看每个入口点名字是否符合
第四步 解决调试时带来的问题,我用try catch来捕捉错误,结果导致了
“Thread was being aborted的错误”,解决办法就是去掉try catch
请参照:http://archive.cnblogs.com/a/1963748/
第五步 直接在vs中运行程序ok,但是发布后再运行报错”无法识别的属性targetFramework“
解决办法:参看/article/5659967.html
相关文章推荐
- 如何在linux 32位机器编译64位程序
- 如何在ubuntu14.04(64位)编译运行32位程序
- 呃,如何使 .NET 程序,在 64位 系统 中,以 32位 模式运行。
- 如何在linux 32位机器编译64位程序
- 如何让64位的windows上的IIS可以运行32位的程序
- WINDOWS中, 如何查看一个运行中的程序是64位还是32位的?
- Ubuntu 64位机器上运行32位程序
- 64位?32位?32位程序如何在64位linux下运行?
- 如何让32位编译的程序在64位系统中正常运行
- 32位系统上开发的Access为数据库的程序在64位机器上运行出错的解决办法
- 如何在ubuntu14.04(64位)编译运行32位程序
- 在64位机器上VS2012编译的32位程序在XP系统上运行提示Wow64EnableWow64FsRedirection无法定位于输入点
- 如何在ubuntu14.04(64位)编译运行32位程序
- Linux64位机器运行32位程序
- 如何查看自己运行ubuntu是32位还是64位
- Ubuntu 13.04 64位运行32位程序出现问题
- 64位下无法运行32位程序的解决方法 提示未指定提供程序,也没有指派的默认提供程序
- 判断机器、程序是32位还是64位
- 如何让你的java程序可以在任何机器上双击运行
- 如何在安装32位Oracle客户端组件的情况下以64位模式运行