请问:
    自己做了个DLL,可是却不会引用,郁闷啊,做好了还不会用,各位大虾指教以下啊,是不是要路径对头的啊,我是在用DLL的工程里先加入DLL的头文件,在连接lib文件,可总是说:头文件找不到,我把.dll文件也放在了工程目录下拉,急死了

解决方案 »

  1.   

    我把头文件加在了"Stdafx.h"中的
    我做的DLL的头文件:#ifndef HOOKDLL4_API
    #define HOOKDLL4_API __declspec(dllimport)
    #else
    #define HOOKDLL4_API __declspec(dllexport)
    #endif// This class is exported from the hookdll4.dll
    class HOOKDLL4_API CHookdll4 {
    public:
    CHookdll4(void);
    // TODO: add your methods here.
    };extern HOOKDLL4_API int nHookdll4;HOOKDLL4_API int fnHookdll4(void);HOOKDLL4_API void WINAPI SetRange(int vrate,int hrate);HOOKDLL4_API void WINAPI SetButton(int button);HOOKDLL4_API BOOL WINAPI Hook_Start(HWND hwnd);HOOKDLL4_API BOOL WINAPI Hook_Stop();
      

  2.   

    是不是放在Debug文件夹下面?应该放在那个下面,和*.exe在同一个目录下
      

  3.   

    tools->options->directories, 選擇include files,在下面把你的頭文件目錄加入.
      

  4.   

    先到VCKBASE。COM上看看有无例子代码,
    然后我给你介绍一下,其实现在做DLL很简单的,只要用MFC的DLL选项就可以了,在*。CPP文件中写如自己的函数
    MYFUN()
    {}在DEF文件中加导出函数语句:
    MYFUN  @ 1调用的时候显示调用较麻烦
    方法如下:
    //--定义“实例”
     HINSTANCE Dll_handler;//--声明dll内的函数
    typedef BOOL (*DLLTEST)(int nPort, int nBaud, int nByte, int nParity);
    DLLTEST CommOpen;;
    //--装载dll
    Dll_handler = LoadLibrary("Commpro.dll"); CommOpen = (DLLTEST)GetProcAddress(Dll_handler,"CommOpen");//--取得dll中的函数地址
    CommOpen(m_nPort,m_nBaud,m_nByte,m_nParity)
    FreeLibrary(Dll_handler);隐士调用较简单,只要写个头文件
    写上MYFUN();
    然后把*。LIB加在CPP工程文件夹里面,在用的地方加上刚才的头文件就OK了!
      

  5.   

    我是把头文件放在“.exe"目录下的啊,我用的是静态连接,通过__declspec(dllimport)和__declspec(dllexport)进行函数的倒如入倒出的,为什么不行呢。在向导选择MFC的DLL和选择Dynamic dll的创建方法有关吗
      

  6.   

    你的“DLL的头文件”这么怪,你能编译同已经是万幸了,你还想使用?你就等着死机把!
      

  7.   

    不是啊,我是这样的:在头文件中用__declspec(dllimport)导入。在.cpp中用__declspec(dllexport),然后在要用的程序中加入头文件,并联接.lib文件,可不知为什么就是找不到头文件