我用 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请问这是怎么回事,如何解决,请给出详细地解决方案。
谢谢~~
#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请问这是怎么回事,如何解决,请给出详细地解决方案。
谢谢~~
手工编译纯资源成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);
}