CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

【高分求助】VC++ 2005写的win32控制台程序只能在自己的机子上运行????~!

楼主alxen(小雨--我只喜欢雨~~~)2006-12-08 14:21:25 在 C/C++ / C++ 语言 提问

我用VC++   2005   做的win32   控制台应用程序,不管是生成的Debug版还是Release版的exe文件,都只能在我的机子上运行,一到别人的机子上点击打开就提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”  
  奇怪的是我写的仅仅是简单的控制台程序,只有一个exe文件,又不是带一大堆dll文件的大软件,怎么还要安装??好奇怪。  
  是我的VC++的设置问题么?该怎么解决呢?  
  请熟悉的朋友指点一下。  
  问题点数:50、回复次数:68Top

1 楼owlling(owlman)回复于 2006-12-08 14:25:45 得分 0

这是自然的,c++程序是直接依赖于机器的。换了机器自然要重新编译,除非两台机器的配置完全相同还差不多。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

2 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 14:28:00 得分 0

但是以前写的一个程序却可以在别的机子上运行呀??  
  还有如果VC++真是这样,自己写的软件只能自己用,呢要它做什么呢???    
  哪位朋友给个解决方案,非常感谢。Top

3 楼owlling(owlman)回复于 2006-12-08 14:30:39 得分 0

在解决方案里见一个安装项目打包当前项目即可。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

4 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 14:32:24 得分 0

owlling(owlman)“c++程序是直接依赖于机器的。换了机器自然要重新编译,除非两台机器的配置完全相同还差不多”都从哪听说的?  
  默认编译的程序都需要C运行库的支持的,你得用静态连接。在编译选项里应该有。Top

5 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 14:35:10 得分 0

taodm(taodm)      
  默认编译的程序都需要C运行库的支持的,你得用静态连接。在编译选项里应该有。  
  --------------------------------------------------------------------------  
  感谢taodm(taodm)兄指点,我看看Top

6 楼owlling(owlman)回复于 2006-12-08 14:48:10 得分 0

这个还需要那儿听说么?c++程序要是能编译一次到处运行,java还能活么?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

7 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 14:53:12 得分 0

哈哈哈,编译一次当然可以在同一个OS平台上跑啊。java是宣称跨平台跑。  
  Top

8 楼owlling(owlman)回复于 2006-12-08 14:56:37 得分 0

绝对不止是库的链接问题,特别是整数的长度、整数和浮点数的表示法和字节序;还有对齐等问题,你都能保证完全一致?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

9 楼sinictao()回复于 2006-12-08 14:58:26 得分 0

用静态连接方式编译Top

10 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 14:58:50 得分 0

都是windows   2000/xp系统,还能不一致?  
  C/C++的程序要换台计算机就都不能用了,这2种语言还能活到现在?  
  你也搞笑了。Top

11 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 15:00:58 得分 0

找不到那个静态链接在哪里设置。  
  不过经过研究,在VC++   2005   中写win32   控制台应用程序时只有创建一个   emptyproj   项目时生成的exe文件才能在别的机子上运行,不过建这种   emptyproj     项目有两个缺点:  
  1.不能调试。                             2.生成的exe文件很大。  
  而创建   CLR空项目、CLR控制台应用程序、win32   控制台应用程序生成的exe文件均不能在别的机子上运行,而这几种项目生成的exe文件又比   emptyproj   项目的小很多。  
  狂晕~~~~~~~~~~~~  
  难道没有解决方法了么??Top

12 楼owlling(owlman)回复于 2006-12-08 15:04:13 得分 0

晕,c++的程序都需要本地安装的吧,直接拷贝了就能用?还我搞笑  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

13 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 15:07:30 得分 0

你为啥自己不写个小程序试一下?Top

14 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 15:13:52 得分 0

taodm(taodm)兄和owlling(owlman)兄就别吵了。大家整天见面呢,和气生财哈。反正都是切交流嘛,没什么的。  
  关于我的问题我在帖子里都说清楚了。事情就是这样的。  
  我也再研究下。  
  麻烦各位了。  
  如果有好的方法还请赐教哈。  
  非常感谢各位帮助~~~~~~~~~~  
  Top

15 楼owlling(owlman)回复于 2006-12-08 15:14:28 得分 0

哦,。我突然明白你的意思了,你一定要说跨机器就是x86的机器,没别的机器了,那我无话可说了。你静态链接完事吧。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

16 楼antonyhome(Linux C++)回复于 2006-12-08 15:28:56 得分 8

明白楼主的意思了,  
   
  楼主用的是CLR(Common   Language   Runtime),是.Net的东东,不是标准的win32程序  
   
  需要.net   framework才能运行  
   
  创建项目时要选win32的,不是.Net的Top

17 楼owlling(owlman)回复于 2006-12-08 15:34:36 得分 8

另外,我补充下,我的笔记本是苹果的。台式机是x86的,虽然都是win   xp系统,这样的移植显然是不行的  
  我再说一遍,c   c++的可移植性是代码级的,不是二进制级别的,除非两个平台是完全兼容的,否则只是解决库的link问题是远远不够的,  
  java和c#是带vm机制的,才能做到这点  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

18 楼antonyhome(Linux C++)回复于 2006-12-08 15:34:44 得分 0

补充说明一下,如果没用到托管,用的是ISO   C++   建议创建win32   项目,  
   
  Microsoft的托管代码和ISO   C++   有冲突,记得CLR刚出来时,想把两个用在一起,  
   
  发现MS很不合作Top

19 楼antonyhome(Linux C++)回复于 2006-12-08 15:38:52 得分 0

owlling(owlman)    
   
      就算是苹果电脑,还是可以选择目标机器为I386,可以交叉生成可执行文件的  
   
  Top

20 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 15:41:08 得分 0

antonyhome(鲜の每日C)    
  明白楼主的意思了,  
  楼主用的是CLR(Common   Language   Runtime),是.Net的东东,不是标准的win32程序  
  需要.net   framework才能运行  
  创建项目时要选win32的,不是.Net的  
  --------------------------------------------------------------------------  
  谢谢提醒,不过我创建的不是CLR项目,就是win32   项目呀,但就是一到别的机子上就不行。  
  还有我在上面的帖子上说的,经过研究,在VC++   2005   中只有创建一个   emptyproj   项目时生成的exe文件才能在别的机子上运行。  
  而创建   CLR空项目、CLR控制台应用程序、win32   控制台应用程序生成的exe文件均不能在别的机子上运行。  
  好奇怪~~~~`  
  Top

21 楼owlling(owlman)回复于 2006-12-08 15:41:08 得分 0

是么?这个我倒是不知道,是否给点资料看看,  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

22 楼owlling(owlman)回复于 2006-12-08 15:43:52 得分 0

to,lz,你说明下,   这是两台怎么样的机器?cpu?   操作系统?还有是否都装系统   版本的。net框架?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

23 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 15:44:03 得分 0

C#也不能跑linux下面呀。windows   for   x86和windows   for   ppc本来就是不同平台。Top

24 楼xlightx(小亮)回复于 2006-12-08 15:45:52 得分 0

不会和框架有关吧?.net   framework   2.0,我不是很懂,呵呵。Top

25 楼owlling(owlman)回复于 2006-12-08 15:49:12 得分 0

和系统没关系,按你说的那种情况,只要是gcc编译器的东西,在两台都支持gcc的不同操作系统的相同指令集的机器上也是可以试试的  
  至于,net在linux上的情况么。你不知道mono项目么?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

26 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 15:54:58 得分 10

windows和linux都支持gcc,都跑在x86CPU上,他们仍然是不同平台,编译出来的程序当然不可以跨平台运行。  
  mono算啥,wine/winx也可以让windows程序直接跑在linux上呢,这个讨论就没意义了。  
  C++之父早就说过了,java根本不是跨平台,而是它本身就是平台。Top

27 楼owlling(owlman)回复于 2006-12-08 15:57:07 得分 0

至于ls说到的框架问题,其实很显然的,你让小猫专大洞当然没问题,但是要反过来就未必了,不过lz这方面的问题的几率倒是不太会有的。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

28 楼TomMax(笑望人生)回复于 2006-12-08 16:00:59 得分 8

VC++2005与.net一样,必须要有一个运行库。但这个运行库不是.net运行库,而是专用的一个VC++2005运行库,只有2兆大。  
  下载地址:  
  http://www.microsoft.com/downloads/details.aspx?FamilyID=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=zh-cn  
   
  装上就好了。Top

29 楼antonyhome(Linux C++)回复于 2006-12-08 16:14:38 得分 0

应该是   TomMax(笑望人生)   所说的原因  
   
  不过,应该可以设置为静态的吧  
   
  楼主能不能把编译的参数贴出来看看Top

30 楼sgnaw(李逍遥)回复于 2006-12-08 16:54:53 得分 5

刚用   VS2005   新建了一个   Win32   Console   工程,   试了一下,   确实如楼主所说.  
   
  但是我找到了一个解决办法:  
          新建工程的时候,   "项目类型"选择"Visual   C++",   然后选择"空项目"  
          再把你的源程序加到工程中,   再编译出来的   Console   程序可以被别的   PC   使用.Top

31 楼sgnaw(李逍遥)回复于 2006-12-08 17:02:38 得分 0

你的程序应该不使用   MFC   吧   ?  
  所以,   静态链接之类的说法,   纯属胡扯   !  
  应该是其它编译选项问题,   有空我再研究一下.Top

32 楼sgnaw(李逍遥)回复于 2006-12-08 17:06:14 得分 0

居然有人说   CPU,   X86   之类的话,   真是晕   .Top

33 楼owlling(owlman)回复于 2006-12-08 17:08:44 得分 0

c++的移植问题,谈cpu哪儿不对了   ?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

34 楼horeaper()回复于 2006-12-08 17:08:52 得分 3

msvcr80.dll  
  msvcp80.dll  
  附带上这两个DLL再试试Top

35 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 17:10:48 得分 0

应该还是误建了“托管C++”工程,而其它机器没有.net支持库这类东西所致。Top

36 楼sgnaw(李逍遥)回复于 2006-12-08 17:14:31 得分 0

>   c++的移植问题,谈cpu哪儿不对了   ?  
  ---------------------------------------  
  因为就算   CPU   不一样,   这些差异由   OS   接管了,   OS   完全可以让你的程序正常运行   .Top

37 楼sgnaw(李逍遥)回复于 2006-12-08 17:16:41 得分 0

>   taodm(taodm)   (   )   信誉:100         Blog     2006-12-08   17:10:48    
  >   ...而其它机器没有.net支持库这类东西所致  
  -------------------------------------------  
  VS2005   默认的   Win32   Console   工程不会包含   CLR   的支持,   所以,   不关   .NET   支持库的事.Top

38 楼owlling(owlman)回复于 2006-12-08 17:18:47 得分 0

因为就算   CPU   不一样,   这些差异由   OS   接管了,   OS   完全可以让你的程序正常运行  
  _____________________  
  你到苹果机上试试吧,或者你到64位的机器上试试吧,相同的操作系统。。。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

39 楼sgnaw(李逍遥)回复于 2006-12-08 17:19:45 得分 0

>   horeaper()   (   )   信誉:100         Blog     2006-12-08   17:08:52     得分:   0      
  >msvcr80.dll  
  >msvcp80.dll  
  >附带上这两个DLL再试试  
  -------------------------------------------  
  如果还要带上一堆   DLL,   还不如把这个   Console   程序拿到   VC++6   里编译一下来得方便.  
  VC++6   里的   Win32   Console   程序是没问题的.Top

40 楼sgnaw(李逍遥)回复于 2006-12-08 17:21:13 得分 0

>你到苹果机上试试吧,或者你到64位的机器上试试吧,相同的操作系统。。。  
  ------------------------------  
  只要   Windows   支持苹果的   PC,   这根本不是问题.Top

41 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 17:21:36 得分 0

那么就这个2个dll了  
  msvcr80.dll  
  msvcp80.dll  
  Top

42 楼owlling(owlman)回复于 2006-12-08 17:22:05 得分 0

晕,要重新编译这个问题还用讨论么?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

43 楼owlling(owlman)回复于 2006-12-08 17:23:34 得分 0

只要   Windows   支持苹果的   PC,   这根本不是问题  
  =========  
  windows没有苹果版的?   你没稿错吧你?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

44 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 17:23:47 得分 0

VC++6   里的   Win32   Console   程序没问题是因为windows2000/xp已经自己带了  
  msvcr60.dll  
  msvcp60.dllTop

45 楼sgnaw(李逍遥)回复于 2006-12-08 17:25:45 得分 0

关键是觉着大家回答问题,   似乎喜欢没有根据的凭空猜测,    
  而楼主成了试验田,   试来试去都不行,   浪费时间,   这样很不好   .Top

46 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-12-08 17:26:49 得分 0

sgnaw(李逍遥),一共就2种可能,是你在搞呀。Top

47 楼owlling(owlman)回复于 2006-12-08 17:29:11 得分 0

对阿,。要么是平台兼容问题(包括硬件,操作系统),。要么就是库的问题  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

48 楼sgnaw(李逍遥)回复于 2006-12-08 17:29:43 得分 0

>   taodm(taodm)   (   )   信誉:100         Blog     2006-12-08   17:26:46     得分:   0      
  >       sgnaw(李逍遥),一共就2种可能,是你在搞呀。  
  ---------------------------------  
  不明白是什么意思哦,   我可不是马甲啊,   前日还有人以为我是袁峰老前辈.    
     
  Top

49 楼sgnaw(李逍遥)回复于 2006-12-08 17:32:15 得分 0

我查了一下修改   Win32   Console   的编译选项,   但目前还没有调好,   请参考下面的文章:  
  http://www.gamedev.net/community/forums/topic.asp?topic_id=423527  
  因为要拿到别的   PC   上测试,   不太方便.Top

50 楼antonyhome(Linux C++)回复于 2006-12-08 17:39:14 得分 0

因为我也没有vc++   2005,所以只能跟据以前出现的经验来猜则是否   静态链接   或者   CLR   的问题  
  因为不知道vc++   2005的默认纺译选项是怎么样的,所以叫楼主把编译选项贴出来以方便定位  
   
  相信大家都不是想把楼主拿来试验  
  Top

51 楼owlling(owlman)回复于 2006-12-08 17:40:36 得分 0

ls有没有个方向啊?lz没有说明两台怎么样的机器,怎么样的环境,你在哪写编译选项上下功夫啊?  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

52 楼antonyhome(Linux C++)回复于 2006-12-08 17:43:53 得分 0

sgnaw(李逍遥)   给的那个是预编译头的问题,连可执行程序都生成不了  
   
  这个是已经生成可执行程序了Top

53 楼owlling(owlman)回复于 2006-12-08 17:45:45 得分 0

晕,我也看了下那个文件,正想说这话,。。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

54 楼antonyhome(Linux C++)回复于 2006-12-08 17:46:55 得分 1

owlling(owlman)  
   
          楼主其实说明了在一些情况下的编译/链接选项可以运行  
  我们实际上是要找出VC++   2005   默认选项与以前的有什么差别Top

55 楼owlling(owlman)回复于 2006-12-08 17:52:14 得分 0

哦,好像他说的是以前的一个项目吧,我认为lz还不至于会更改编译器的某些选项。我觉得他可能两次移植的目标机器是不同的,或者两次的程序涉及的运算啊库啊有所不同的。这只能猜测了。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

56 楼sgnaw(李逍遥)回复于 2006-12-08 18:05:17 得分 2

>   antonyhome(鲜の每日C)   (   )   信誉:100         Blog     2006-12-08   17:46:55     得分:   0      
  >       owlling(owlman)  
  >         楼主其实说明了在一些情况下的编译/链接选项可以运行  
  >我们实际上是要找出VC++   2005   默认选项与以前的有什么差别  
  ---------------------------------------  
  OK,   这个说法是正确的   ,   大家继续,   不打绕了   .Top

57 楼sgnaw(李逍遥)回复于 2006-12-08 18:11:43 得分 0

下班了,   准备打乒乓球去了,   大家要注意保持身体健康哦.  
  bye   ...Top

58 楼owlling(owlman)回复于 2006-12-08 18:19:00 得分 0

hoho,。ls真够胡搞的。。。。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

59 楼pass86(l.jay)回复于 2006-12-08 18:22:42 得分 0

可移植和跨平台是不一样的啊,  
  搂主的问题估计是链接库的问题,就如静态链接和动态链接,动态链接就需要库(如.dll)的支持,所以拿别机器上可能不一定运行。  
  Top

60 楼owlling(owlman)回复于 2006-12-08 18:28:23 得分 0

可移植和跨平台的概念就不要争论了,见仁见智吧、。估计lz也只能是x86的windows环境。  
   
  ==================================  
  欢迎访问我的个人主页:http://www.lingjie.net/  
  ==================================Top

61 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 21:42:32 得分 0

非常感谢各位热心帮助和提示。  
  晚上有点事,现在才回来。  
  等我先看看各位的留言再说哈。  
  再次感谢各位!  
  --------------------------------  
  郁闷的是VC+   2005的设置项太多了,具体都不知道啥意思,一不小心就编译不了了。  
  偶刚学VC++,还不太会用呢。Top

62 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 21:49:51 得分 0

antonyhome(鲜の每日C)  
  应该是   TomMax(笑望人生)   所说的原因  
  不过,应该可以设置为静态的吧  
  楼主能不能把编译的参数贴出来看看  
  --------------------------------------------  
  感谢各位帮忙,这是我的编译信息。  
   
  ------   已启动全部重新生成:   项目:   梦幻情缘5.0,   配置:   Debug   Win32   ------  
  正在删除项目“梦幻情缘5.0”(配置“Debug|Win32”)的中间文件和输出文件  
  正在编译...  
  love5.0.cpp  
  .\love5.0.cpp(68)   :   warning   C4996:   “strcpy”被声明为否决的  
                  C:\Program   Files\Microsoft   Visual   Studio   8\VC\include\string.h(73)   :   参见“strcpy”的声明  
                  消息:“This   function   or   variable   may   be   unsafe.   Consider   using   strcpy_s   instead.   To   disable   deprecation,   use   _CRT_SECURE_NO_DEPRECATE.   See   online   help   for   details.”  
  .\love5.0.cpp(72)   :   warning   C4996:   “strcpy”被声明为否决的  
                  C:\Program   Files\Microsoft   Visual   Studio   8\VC\include\string.h(73)   :   参见“strcpy”的声明  
                  消息:“This   function   or   variable   may   be   unsafe.   Consider   using   strcpy_s   instead.   To   disable   deprecation,   use   _CRT_SECURE_NO_DEPRECATE.   See   online   help   for   details.”  
  .\love5.0.cpp(182)   :   warning   C4996:   “fopen”被声明为否决的  
                  C:\Program   Files\Microsoft   Visual   Studio   8\VC\include\stdio.h(234)   :   参见“fopen”的声明  
                  消息:“This   function   or   variable   may   be   unsafe.   Consider   using   fopen_s   instead.   To   disable   deprecation,   use   _CRT_SECURE_NO_DEPRECATE.   See   online   help   for   details.”  
  正在链接...  
  正在嵌入清单...  
  生成日志保存在“file://c:\Documents   and   Settings\lei\My   Documents\Visual   Studio   2005\Projects\梦幻情缘5.0\梦幻情缘5.0\Debug\BuildLog.htm”  
  梦幻情缘5.0   -   0   个错误,3   个警告  
  ==========   全部重新生成:   1   已成功,   0   已失败,   0   已跳过   ==========  
  ------------------------------------------------------------------------  
  有三个警告,但是也没有问题呀,程序运行也没有问题呀  
  就是在别的机子上不行。  
  Top

63 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-08 22:03:31 得分 0

鉴于朋友们对我的无私帮忙,特意从偶那可怜的430总分里再拿30分出来感谢朋友们。  
  现在我把软件的所有源代码下载链接贴出来。请朋友们看看。地址是我在blogbus的空间。  
  http://alxen.blogbus.com/files/1165586132.rar  
  -------------------------------------  
  这本来是我最初发表在电脑爱好者论坛的文章,最初是用TC   2.0做的英文版1.0的,现在逐步做到了5.0中文版,用VC++   2005编译。  
  本着交流学习的目的和大家分享。  
  这个下载链接包含了5.0中文版的全部源代码。  
  里面包含的exe文件是在VC++   2005里创建的   emptyproj   项目里生成的。所以可以在别的机子上运行的。  
  不过在win32   控制台项目里生成的exe文件就不能在别的机子上运行了。  
  感谢朋友们不吝赐教。  
  Top

64 楼htqx(航天奇侠)回复于 2006-12-09 12:31:10 得分 5

 
   
  大家看来没有使用vc++2005呢。  
  vc++2005   使用xml定位dll技术,在一个系统中可以保留相同的dll的不同版本。只是,生成程序的时候,如果要在别人的机子上运行,就要拷贝相关的dll,而且拷贝的原则有点特别。  
  目录结构是这样的:  
   
  --我的程序.exe  
  --我的程序.manifest  
  --我使用的dll  
      -----我使用的dll.dll  
      -----我使用的dll.manifest  
   
  manifest就是xml定位文件,默认是直接内嵌入程序里面的。  
   
  当然最简单的发布方法就是设置静态连接标准库dll。  
   
  项目属性   -->   c/c++   -->   代码生成   -->   运行时库  
  1。多线程(/MT)     //静态  
  2。多线程调试(/MTd)     //静态  
  3。多线程   DLL   (/MD)  
  4。多线程调试   DLL   (/MDd)  
   
  单个程序文件虽然增大,但是比拷贝几个dll要小得多,方便传播。  
   
   
  Top

65 楼htqx(航天奇侠)回复于 2006-12-09 12:34:23 得分 0

关于设置的东西,最好参考msdn,里面都有详细的介绍。  
  大家似乎都懒得看帮助呢。  
  Top

66 楼shunan(什么是技术)回复于 2006-12-09 12:52:56 得分 0

so   hot!    
  mark   itTop

67 楼alxen(小雨--我只喜欢雨~~~)回复于 2006-12-09 12:59:01 得分 0

htqx(航天奇侠)  
  当然最简单的发布方法就是设置静态连接标准库dll。  
  项目属性   -->   c/c++   -->   代码生成   -->   运行时库  
  1。多线程(/MT)     //静态  
  2。多线程调试(/MTd)     //静态  
  3。多线程   DLL   (/MD)  
  4。多线程调试   DLL   (/MDd)  
  单个程序文件虽然增大,但是比拷贝几个dll要小得多,方便传播。  
  --------------------------------------------------------------  
  先谢了,我试试哈。Top

68 楼txdog(000010 000101 000000)回复于 2006-12-09 13:58:48 得分 0

恩,看来基础很重要,浮躁不得。我什么都不希望,只是希望50岁了还能编程。Top

相关问题

关键词

得分解答快速导航

  • 帖主:alxen
  • antonyhome
  • owlling
  • taodm
  • TomMax
  • sgnaw
  • horeaper
  • antonyhome
  • sgnaw
  • htqx

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo