在做程序开发经常要用到动态链接库(DLL),有时也需要自己开发DLL。
这几天一直被一个问题困扰着:我自己写了一个DLL工程A,假定为A.DLL 和A.lib,在工程B中调用,工程B引入A.lib,那么B在运行时就需要A.DLL支持,过来一段时间,我需要重新对A命名,假如为A2005.DLL,我就修改工程A输出A2005.DLL(在link 属性页中修改)和A2005.lib,然后在B工程中引入库A2005.lib,重新编译B,成功,但B运行时仍然需要A.Dll而不是A2005.DLL!!! 尝试了好久,最后想到工程DLL中有一个*.def文件,其中有一个LIBRARY "A" 以前一直没有注意。但问题就出在这里, LIBRARY 对应的字符串就指引*.lib文件引用哪个DLL,将其修改为A2005后,运行通过。