我使用#pragma comment(lib,“XXX.lib”)导入dll时遇到了问题
我的程序是这样的,我只有一个dll文件,我将它放到了工程目录下
然后这样写程序
  #include “XXX.h”
  ##pragma comment(lib,“XXX.lib”);.h文件时dll中的文件
结果报错说找不到XXX.h
我想问问这个错误怎么解决

解决方案 »

  1.   

    我想问问,只有dll文件,没有.h文件,能用
    #include “XXX.h”
    #pragma comment(lib,“XXX.lib”);
    这种方法加载dll文件吗
      

  2.   

    这个dll文件是从网上下的,我想调用其中的.h文件啊,这样写可以吗
      

  3.   

    我的程序是这样的,我只有一个dll文件,我将它放到了工程目录下
    然后这样写程序
      #include “XXX.h”
      #pragma comment(lib,“XXX.lib”);
    1.
    只有DLL,怎么会是:
    XXX.lib呢?应该是XXX.DLL吧!!2.
    DLL是动态链接库,可以用loadlibrary 动态 加载,不支持你这种加载方式,
    #pragma comment(lib,“ws2_32.lib”)
    这句话的作用是 隐式 加载ws2_32.dll我觉得你最好还是区分一下DLL的加载方式在说
      

  4.   

    只有dll,只能LoadLabrary,然后GetProcAddress,具体查msdn吧。你的方法肯定不行
      

  5.   

    楼上正解,需要使用LoadLabrary,使用函数指针去调用方法,前提你已经知道有什么方法及其参数。
      

  6.   

    有Lib,你可以隐式调用,
    没有lib,你只能先LoadLabrary,然后GetProcAddress
    两者都必须有函数的原型定义
      

  7.   

    哦,明白了,多谢各位,还有一个问题,我在调用winsock32的时候好像也是只有dll文件吧,这样为什么能隐式调用呢,我记得我只在工程里加了一个ws2_32.dll文件啊
      

  8.   

    头文件好像是afxsock.h或类似的,lib也一定在你编译程序的机器里,可能是ws2_32.lib或类似的吧。