HINSTANCE hInst = LoadLibrary( _T("Test.dll"));
if(hInst == NULL)
{
AfxMessageBox(_T("加载dll出错"));
}MyFunc fun=(MyFunc)GetProcAddress(hInst, "func");
....Test.dll是用VS2005编译的(用的也是C++),然后在VS2005的项目里调用。在我自己的电脑里(安装了VS2005)能够正确加载Test.dll,
而在其它没安装VS2005的机器上运行时就弹出"加载dll出错"。所有可能的问题我都检查过了(Test.dll的路径正确)不知道大家有没遇到过这个问题,帮帮忙啊,谢谢。
if(hInst == NULL)
{
AfxMessageBox(_T("加载dll出错"));
}MyFunc fun=(MyFunc)GetProcAddress(hInst, "func");
....Test.dll是用VS2005编译的(用的也是C++),然后在VS2005的项目里调用。在我自己的电脑里(安装了VS2005)能够正确加载Test.dll,
而在其它没安装VS2005的机器上运行时就弹出"加载dll出错"。所有可能的问题我都检查过了(Test.dll的路径正确)不知道大家有没遇到过这个问题,帮帮忙啊,谢谢。
程序的其它功能都正常,隐式调用的库也正常。就是LoadLibrary显式调用库时有问题。是不是VS2005的LoadLibrary需要什么模块支持?
MFC71.dll
msvcp71.dll
msvcr71.dll
其他机子没有安装vs2005,也不会有这些个dll的
mfc80.dll,mfc80u.dll,mfcm80.dll,mfcm80u.dll,msvcr80.dll,msvcm80.dll,msvcp80.dll
都复制到目标机器上了。还是不行。还想问一下,在发布软件时到底到上面哪些dll是必须要复制到过去的呢,因为我不太清楚,所以
全都放进去了。
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
mfc80.dll,mfc80u.dll,mfcm80.dll,mfcm80u.dll,msvcr80.dll,msvcm80.dll,msvcp80.dll
这几个都复制过去了。