运行一个程序,调用IMGCommand.dll。调用方式是“包含那个DLL的 .h 文件,链接那个 DLL 配套的 .lib 文件。结果运行时出现无法定位IGPC_CreteTmgFile@@@...于动态连接库IMGCommand.dll上的错误。开始以为IMGCommand.dll没有这个函数。使用Depends打开一看,里面有的。请问这是什么原因呢?

解决方案 »

  1.   

    有没有可能你的dll文件和lib文件的版本不一样?即使有相同名字的函数,参数也可能不一样。
      

  2.   

    看IMGCommand.dll的依赖库是否满足?
      

  3.   

       有没有可能你的dll文件和lib文件的版本不一样?    怎么知道二者是否版本一样?
      

  4.   

    dll的版本不一样导致,类似的情况比如说你的机器上安装有VC,可以运行程序,但你的程序移动到没有装VC的机器上,它会提示找不到MS**.dll,于是你可能会从网上下载该dll放到目标机器上,运行,它可能就会报错“无法定位序数**于**.dll上”。解决这个问题的话你要看你下载的这个dll是否是最新的。
      

  5.   

       应该不存在dll的版本不一样的问题.这个dll同时又是我的系统的工程。我有这个dll的源代码。我已经重新编译这个dll,还是存在这个问题。
      

  6.   

    你确定你的.h文件和你重新编译了的那个工程里面的.h文件完全一样吗?重新编译后有没有更新lib文件?