0

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

错误 C2039:“LoadLibrary”:不是“全局命名空间”的成员 错误 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"));
    }

提前感谢。

4

1 回答 1

0

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

#ifdef UNICODE
#define LoadLibrary  LoadLibraryW
#else
#define LoadLibrary  LoadLibraryA
#endif // !UNICODE
于 2013-02-23T06:15:37.660 回答