加载代码如下:
hLibrary=::LoadLibrary((LPCTSTR)"a.dll");
if ( hLibrary == NULL )
{
::AfxMessageBox加载失败!");
return FALSE;
}我已经将dll放在exe的目录下。
我将路径固定,如“D:\\a.dll”也不行。
郁闷呀,高手快来呀。

解决方案 »

  1.   

    你的DLL是不是还依赖其它VC的DLL?
      

  2.   

    你那个DLL是Debug版的,或者是UNICODE版的?
    推荐你一个好工具,http://www.silurian.com/win32/inspect.htm
    能够看到DLL/EXE引用的其它模块,自己导出的函数,也能TestLoad,试试看能不能加载。
      

  3.   

    如果用了 MFC,
    把它改成
    Use static MFC libraries
      

  4.   


    用depends看看有哪些依赖的dll
      

  5.   

    少了支持库(.dll),一般来说,像楼上所说的,可能用了debug版本的DLL。
      

  6.   

    dll改成静态链接的就可以了,或者把依赖的dll找出来加到未安装VC
      

  7.   

    假如猜得没错,他用了C++的东东,链接到了msvcp60.dll上去了。再不然就是DEBUG版本。
      

  8.   

    可能 a.dll 中引用了其它的第三方dll并且不位于默认搜索路径下