我用win32 dynamic-link library创建一个**.h  **.cpp文件 运行后 出lib和dll文件 
而后我在一个程序里测试调用该lib文件和dll文件
用loadlibrary()调用dll 文件能行
 但是用#pragrm comment(lib,"**.lib");//已经删除了dll文件 放入lib文件
....  
lib里的函数声明
...
...
 运行的时候 提示 找不到dll文件  ??
我连接的是lib文件怎么会提示找不到dll文件 ....
 请指教... 

解决方案 »

  1.   

    但是用#pragrm comment(lib,"**.lib");//已经删除了dll文件 放入lib文件
    ============
    LIB文件只是链接时用的,在执行时还是要用DLL的,你删除了DLL,执行时当然不行了。DLL是动态链接库,代码并不是放在LIB文件中的,LIB文件中只有一些链接用的信息,代码是放在DLL中的,所以不管用什么方法调用DLL,DLL文件在执行时都是必须的。
      

  2.   

    lib 文件有2种, 一种是静态库(包含代码资源等,链接入目标模块), 一种是动态库的导入库(不含代码, 只作为链接时符号表信息源用).
      

  3.   

    确实,LIB确实有两种,静态库的LIB文件比较大
      

  4.   

    你的是dynamic-link library....
      

  5.   

    很精辟,歧视lib只在编译有用,而程序编译成功,要运行,就必须用dll。
    比如做个产品,最终你要把dll打包进去,而lib可以不用打包