(手头木有资料,只好从网上看文章,关于规则的比较少)我建立的是 静态链接规则dll  ,  编译器自动生成几个文件,比如:app, .h,Stdafx.h  Stdafx.cpp 
然后自己添加了个对话框,  用类向导, 创建了个对话框类(CXXDialog.h,CXXDialog.cpp)再添加了个头文件(写导出函数的)//dll.cpp   木有头文件#include"Stdafx.h"#include "MyDialog.h"_declspec void Print(void){
   CMyDialog dlg;   dlg.DoModal();
}结果Build就出错。。

解决方案 »

  1.   

    error C2065: 'IDD_DIALOG1' : undeclared identifier'IDD_DIALOG1' 这个是添加的对话框资源啊 ,为什么会这样啊????
      

  2.   

    加上
    #include "resources.h"
      

  3.   

    请问为什么要加上?我知道必须要加上,但是第一行不是有"Stdafx.h"吗?
    它貌似是预编译,包含了Resource.h吧?
      

  4.   

    没有,我之前就看过,还以为被其他给包含了再问一下啊;隐式加载,是不是只需要.lib .dll  放到测试程序的目录下啊?
    有的树上书说还需要.h文件?
    这些书不统一,,, 我很郁闷
      

  5.   

    因为资源ID都在 Resource.h 中定义IDD_DIALOG1 这个常量就是在 resource.h 中声明的。所以必须要 #include "Resource.h"
      

  6.   

    隐式加载需要lib和函数声明,函数声明一般在头文件中
      

  7.   

    a) Regular DLL with MFC statically linked(静态链接MFC库的正规DLL)
    创建一个常规的动态链接库,该DLL使用MFC的静态链接,在发布产品时,只需要提供实现的DLL即可。
    b) Regular DLL using shared MFC DLL(动态链接MFC库的正规DLL)
    创建一个常规的动态链接库,该DLL使用共享的MFC DLL,当发布该DLL产品时,一定要确保用户机器上有MFC动态链接库,如果没有,那么该DLL将不能被加载。
    c) MFC Extension DLL(using shared MFC DLL)(MFC扩展DLL)
    创建一个扩展的MFC DLL,该DLL也是使用共享的MFC DLL。MFC扩展DLL与MFC常规DLL的区别是:前者可以导出MFC类,后者不能导出MFC类,只能导出自己编写的C++类。
      

  8.   

    隐式连接当然还需要Link一下了:#pragma comment( lib, "libTest.lib" );楼主看看《Windows核心编程》19章