有A,B两个工程,A是一个DLL
B中要调用A的,现在要把A改为ANEW.dll我是这样做的:在A 的project setting把输出的名字改为ANEW.dll,重新rebuild all
然后把新的ANEW.dll和ANEW.lib复制到B工程的文件夹中,在project setting ->link ->input那里更新为连接ANEW.lib,路径什么都是对的
然后重新编译B编译都没什么问题
但是执行的时候就说B找不到动态链接库
(因为B还在找以前那个名字的A.dll,而不是ANEW.dll,我想问一下为什么,要怎么改)

解决方案 »

  1.   

    rebuild B
    肯定还是连到了旧的lib上,会不会是你混淆了debug或者release版本?你把工程B link到anew的设置去掉,或者通通删除原有的A的旧lib和dll,包括A工程目录中的,看看还能不能link成功
      

  2.   

    新建一个工程加入ANEW看看好用不?
      

  3.   

    以二进制方式打开a.lib,查找所有名为a.dll的位置,将他们修改为B.DLL,注意修改时不能改变该位置的长度!在将A.DLL改名为B.DLL。重新编译,搞定!
      

  4.   

    楼上三位说的都做过了
    工程B link到anew的设置去掉__>不能通过编译
    通通删除原有的A的旧lib和dll,包括A工程目录中的-->已经删掉了,编译没问题
    A的.def文件修改了B也rebuild all了
    但是不行