如何使vc2008写的非MFC程序运行在无vc环境的机子上?

lookof 2009-06-20 10:44:54
我用的是vc2008 express版。 自己写了一个服务功能的lib,在一个客户程序中要调用我自己写的这个lib。无论lib还是客户端程序都是非mfc的,只用到了最基本的win32程序框架和opengl库。

在本机可以运行,使用MTD方式编译后,在没有vc环境的机子上却无法运行。提示说“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”。 在网上查是说vc2008本身的配置问题,需要包含一些特殊的库文件。但比较奇怪的一点是,我另外有一个vc2008写的程序,也用到了opengl库,但是是一个比较简单的程序(没有用到自己的lib库)。这个程序用MTD方式编译,在同一个朋友的机子上可以运行。

实在搞不明白这是怎么回事。会不会因为有自己写的lib库的缘故?请教如果要调用自己写的lib库的话,在没有vc环境的机子上怎么运行?听说要做一个安装程序,不知道这个复杂不,有没有指导手册?

谢谢各位!
...全文
329 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lookof 2009-07-19
  • 打赏
  • 举报
回复
感谢各位的帮助。最近忙着找工作,没有时间来料理这边。
我的问题也查清楚了。因为我的lib编译时没有选用MT编译方式。这样虽然在client端选用MT方式,在别人机子上运行时依然会提示“配置不正确”;解决方法是对lib也选用MT方式即可。这样就没有任何问题了。

虽然这不是各位提出的方法,但因为大家热情帮助,小弟备受感动。50分不多,我平均散给大家。谢谢了。
DavidHsing 2009-06-21
  • 打赏
  • 举报
回复
下载 VC 运行库:
http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=zh-cn
到客户机安装。
程序员刘帅 2009-06-21
  • 打赏
  • 举报
回复
如果你要编译一个发布的版本在别人的电脑上运行,千万不要使用Debug版本,对于没有装VC20008的电脑,就会提示配置不正确之类的。
编译成Release版本后,把使用到得库文件与你编译出来的.exe放到一个目录下,发布给别人就可以正常运行了。
可能用到得库有MSVCRT90.DLL,MSVCP90.DLL等等,具体需要哪些DLL文件你可以在一个没有安装VC2008的电脑上运行一下,缺少哪个库文件会有提示的。
qq14923349 2009-06-21
  • 打赏
  • 举报
回复
release
rabo 2009-06-21
  • 打赏
  • 举报
回复
在目标电脑上安装2008 的runtime distrabute ..
kingwkb 2009-06-20
  • 打赏
  • 举报
回复
vc的运行库
biweilun 2009-06-20
  • 打赏
  • 举报
回复
带上运行库,那个机上的运行库版本太低了
oyljerry 2009-06-20
  • 打赏
  • 举报
回复
如果你需要使用MTD方式,那么就除了带上你的程序,以及lib等以外,还要带上编译器对应的crt,MFC类库dll
msvcr90.dll msvcm90.dll, msvcp90.dll, mfc90.dll,
killbug2004 2009-06-20
  • 打赏
  • 举报
回复
静态opengl和相关运行时链接库试一试,这样在运行时可以脱离对dll的依赖
forcal 2009-06-20
  • 打赏
  • 举报
回复
设置:项目->属性->配置属性->C/C++->代码生成->运行时库->多线程(/MT)即可。
缺省是多线程 dll(/MD),需要MSVC运行库,vc2008的MSVC运行库安装很麻烦,不像以前的版本仅包含几个dll。
WooSir 2009-06-20
  • 打赏
  • 举报
回复
同意3楼的,你的静态lib是用vc2008编译的,编译器用到的MSVCRTD.DLL与那台机子上的不一样

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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