我现在刚刚在学习使用dll,就一个最简单的例子想试着实现一下调用,可是老是出现找不到已编译好的头文件,实在是没辙了!
 我用的例子如下:
//这个是我的dll文件的内容,目的就是显示hello world!
// sampledll.cpp
//#include "stdafx.h"
#define EXPORTING_DLL
#include "sampledll.h"
#include "stdio.h"
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
 )
{
    return TRUE;
}void HelloWorld()
{
    printf("hello world!");

}
//这个是头文件
// File: sampledll.h
//
#ifndef INDLL_H
#define INDLL_H#ifdef EXPORTING_DLL
extern __declspec(dllexport) void HelloWorld() ;
#else
extern __declspec(dllimport) void HelloWorld() ;
#endif#endif
在编译好形成sampledll.lib之后将他放入新建的工程a文件中
a中的a.cpp文件内容如下
#include "stdafx.h"
#pragma   comment(lib, "sampledll.lib")   #include "sampledll.h"
int main(int argc, char* argv[])
{
HelloWorld();
return 0;
}
运行后总是出现问题:不存在或者找不到sampledll.h
这到底是怎么回事?????
这个文件不是只要放在需要调用的工程文件夹下面就行了
另外再添加个#pragma   comment(lib, "sampledll.lib")   就可以了么???

解决方案 »

  1.   

    编译的时候说不存在或者找不到sampledll.h??应该是放到调用工程目录下就可以了,和你其他的那些文件在一起就可以了呀
      

  2.   

    你确信将这个sampledll.h头文件也拷贝到了你的工程下面去了吗 ?
      

  3.   

    sampledll.h不用放到我的工程下面去吧,不是只要把sampledll.lib文件就可以了么???
      

  4.   

    我试了一下,把sample.h放进工程里去了还是没有用阿
      

  5.   

    sampledll.h不用放到我的工程下面去吧,不是只要把sampledll.lib文件就可以了么???
    没有头文件,编译器到哪去找DLL中的函数呢?
      

  6.   

    先生,你要把sample.h和sampledll.lib放在你需要调用这DLL的工程目录下,还要把sampledll.dll拷贝到调用工程的Debug目录下就可以了,试试