LoadLibrary函数 - 编译错误

时间:2013-01-15 08:35:14

标签: visual-c++

我正在尝试构建一个使用dll文件的小程序。 使用VC ++编译器,我得到一个错误说:

错误C2039:'LoadLibrary':不是'`global namespace''的成员 错误C3861:'LoadLibrary':找不到标识符

LoadLibrary包含在winbase.h文件中,我的所有文件都包含stdafx.h,因此已经包含了winbase。我无法弄清楚为什么它无法编译...... 这是代码:

      if(m_lib) 
     ::FreeLibrary(m_lib);
  if((m_lib=::LoadLibrary(path))!=NULL)
    {
     m_pfnManVersion=reinterpret_cast<ManVersion_t>(::GetProcAddress(m_lib,"ManVersion"));
     m_pfnManCreate =reinterpret_cast<ManCreate_t>(::GetProcAddress(m_lib,"ManCreate"));
    }

感谢advence。

1 个答案:

答案 0 :(得分:0)

如果查看Windows头文件(WinBase.h),您会注意到LoadLibrary实际上是一个宏定义,将您重定向到unicode或ascii版本

#ifdef UNICODE
#define LoadLibrary  LoadLibraryW
#else
#define LoadLibrary  LoadLibraryA
#endif // !UNICODE