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

怎么让VC6工程静态链接?

楼主CandCplus()2006-07-04 09:55:09 在 C/C++ / C++ 语言 提问

有人告诉我用Project-Setting->General->Microsoft   Foundation   Classes->Using   MFC   in   static   Library来设置,我发现无效。  
   
  具体说说我是怎么做的。  
   
  在VC6.0的环境下,有两个工程,有一个工程A,是一个dll的工程,编译链接成功之后生成A.dll和A.lib  
   
  工程B是一个exe工程,我在link中加入A.lib的路径之后,可以正常编译链接,运行的时候会报错,提示没有找到A.dll   ??!!  
   
  看到这个错误,我不感到奇怪,应该是由于动态链接的缘故,所以我把A.dll   copy到B.exe的路径之后,运行正常。  
   
  但是我想把工程设置为静态链接,麻烦就来了,删除A.dll之后,我无论是用“Using   MFC   in   static   Library”还是其他,都会报需要A.dll的错误,也就是说没有办法设置为静态链接。  
   
  请大家指点一下,不够我再加分,谢谢!  
   
  问题点数:30、回复次数:7Top

1 楼UPCC(杂食动物)回复于 2006-07-04 10:11:19 得分 5

现在使用.NET了,记得静态库是在编译那里设置Top

2 楼jixingzhong(瞌睡虫·星辰)回复于 2006-07-04 10:13:05 得分 10

静态连接不是你理解的这个意思,  
  静态连接是指   程序在运行的时候,   同时载入整个程序以及需要的dll,  
  所以这个   dll   没有的话,  
  这个程序的载入将出错而终止   ...Top

3 楼jixingzhong(瞌睡虫·星辰)回复于 2006-07-04 10:16:07 得分 0

比较:  
   
  静态连接:   启动时候,载入整个dll,可以任意调用里面的导出函数、类等,不需要手动释放,条件是需要一个   .lib   导入库;如果dll没有,则整个应用将无法启动。  
   
  动态连接:   手动载入,手动释放,应用可以启动,但是在使用   dll   时候将出错   ...相比于静态方式更自由,对内存的利用更高(只在需要时候才载入)   ...Top

4 楼jixingzhong(瞌睡虫·星辰)回复于 2006-07-04 10:18:52 得分 0

.lib   被加入工程后,  
  这个应用根据一定规则去寻找匹配的   dll,  
  找到后载入   dll   ,  
  并使用里面的函数   ...  
   
  Windows一般遵循下面的搜索顺序来定位DLL:    
  1.包含EXE文件的目录,    
  2.进程的当前工作目录,    
  3.Windows系统目录,    
  4.Windows目录,    
  5.列在Path环境变量中的一系列目录。  
   
  所以,你用到的   dll   必须在上述的某一个目录中,调用   dll   的B应用才可以正常运行   ~Top

5 楼the_other_door()回复于 2006-07-04 13:20:09 得分 10

你写的还是一个动态库呀,那个A.lib只是包含了动态链接时需要的代码而已;  
  用相同的源码,再建一个WIN32   static   library工程。Top

6 楼CandCplus()回复于 2006-07-04 20:10:56 得分 0

jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!)    
        你说的应该是动态调用和静态调用吧。我说的静态链接是exe包含dll里边所有内容,这样就不用单独发布dll了。我记得Delphi中的选项可以设置,VC中我还不大明白。  
   
  the_other_door()    
        我比较同意楼上the_other_door()   的观点,应该是我选择错误了。  
   
  还有其他意见吗?意见越辨越明哦  
   
  Top

7 楼yiyo2025(HenryKong)回复于 2006-07-04 20:31:06 得分 5

我也同意the_other_door()的观点Top

相关问题

关键词

得分解答快速导航

  • 帖主:CandCplus
  • UPCC
  • jixingzhong
  • the_other_door
  • yiyo2025

相关链接

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

广告也精彩

反馈

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