我用 Visual Studio.NET 创建了一个 MFC DLL 项目:MyDll,使用的是 共享MFC DLL的规则DLL 没有做任何修改,编译通过。我往里面加入了一个对话框类 DllDlg。在 MyDll.cpp中加入如下代码:
#include "DllDlg.h"extern "C" __declspec(dllexport) void ShowDllDlg()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CDllDlg m_pDllDlg;
m_pDllDlg.DoModal ();
}其他文件没有任何改动,编译出错:
MyDll.rc(156): error RC2135 : file not found: 936请问这是怎么回事,如何解决,请给出详细地解决方案。
谢谢~~

解决方案 »

  1.   

    你的目的是不是,要调用DLL中的资源!我在论坛上看到一个大侠的文章,如下:1)
    手工编译纯资源成dll: 
    Rc.exe /v data.rc
    Cvtres.exe /machine:ix86 data.res
    Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;编译成DLL文件这种方式创建的DLL是最小的,比起你用Win 32 Dynamic Libray等产生的更小。 2)在你的工程中就可以调用了。
    void abc(szResName,nResID)
    {
    HRSRC hSrc = FindResource(NULL,MAKEINTRESOURCE(nResID),szResName);
    if(hSrc == NULL) return false;

    HGLOBAL hGlobal = LoadResource(NULL,hSrc);
    if(hGlobal == NULL) return false;

    LPVOID lp = LockResource(hGlobal);
    DWORD dwSize = SizeofResource(NULL,hSrc);
    }
      

  2.   

    怎么把对话框资源加进去啊?在编写MFC应用程序的时候(.exe)不都是自动的吗?