我有个lib和dll我把lib包含在工程里,dll放在可执行文件目录里,然后加入了我认为必要的头文件,但还是出现无法识别的抱错我确定加入的头文件里已经有了我用的对象我不知道该怎么办。help!!!有谁可以给一个简单的调用示例吗?发到我邮件[email protected]分全给他。

解决方案 »

  1.   

    http://www.codeproject.com/dll/beginnerdll.asp
      

  2.   


    1、显式调用:
    LoadLibrary  getProcessAddress(函数名记不准了,大约就是这个样子,自己在 MSDN 中找找吧!)2、隐式调用:
    工程中加入lib,CPP中加入其提供的头文件,然后向调用普通API函数一样调用其中的函数就可以了·
      

  3.   

    project setting 设置好了吗?
      

  4.   

    1、怎么加的LIB文件?正确的是:工程->设置->连接->对象/库模块下的编辑框里面输入,以空格分隔不同的文件;
    2、头文件里面是否有版本区分?有些定义是根据WIN_VER的值来决定的,这时你可能需要高版本的编译器或把WIN_VER的值重新设置一下。
      

  5.   

    隐士连接就是你在你的程序中加入dll的头文件,然后在project->settings->link->object/library   modules里面加上你的dll的lib文件,你可以把lib文件拷贝到你当前的源程序目录底下就行了。1 头文件的设置:将动态链接库工程中的头文件复制到MFC工程下,一般可以在MFC工程下新创建一个Include文件夹用于存放头文件,然后点击Tools-Options-Directorys将Include目录的路径添加到列表中2 lib文件设置:在MFC工程中添加一个Lib文件夹,将动态链接库工程生成的Lib文件添加到该文件夹中,然后点击Project-Setting-Link在Object/Library Modules中添加lib文件的相对路径+文件名3 dll文件的设置:直接将动态链接库生成的Dll文件添加到MFC工程的Debug或Release目录中(取决于你添加的dll是以Debug方式还是Release方式编译的),也可以新建一个目录专门用于存放Dll,不过需要在系统中进行对应的环境变量设置隐式链接就是在程序开始执行时就将DLL文件加载到应用程序当中。实现隐式链接很容易,只要将导入函数关键字_declspec(dllimport)函数名等写到应用程序相应的头文件中就可以了。下面的例子通过隐式链接调用MyDll.dll库中的Min函数。首先生成一个项目为TestDll,在DllTest.h、DllTest.cpp文件中分别输入如下代码://Dlltest.h
    #pragma comment(lib,"MyDll.lib")
    extern "C"_declspec(dllimport) int Max(int a,int b);
    extern "C"_declspec(dllimport) int Min(int a,int b);
    //TestDll.cpp
    #include<stdio.h>
    #include"Dlltest.h"
    void main()
    {
     int a;
     a=min(8,10)
     printf("比较的结果为%dn",a);
    }   在创建DllTest.exe文件之前,要先将MyDll.dll和MyDll.lib拷贝到当前工程所在的目录下面,也可以拷贝到windows的System目录下。如果DLL使用的是def文件,要删除TestDll.h文件中关键字extern "C"。TestDll.h文件中的关键字Progam commit是要Visual C+的编译器在link时,链接到MyDll.lib文件,当然,开发人员也可以不使用#pragma comment(lib,"MyDll.lib")语句,而直接在工程的Setting->Link页的Object/Moduls栏填入MyDll.lib既可。