我正在尝试构建一个使用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。
答案 0 :(得分:0)
如果查看Windows头文件(WinBase.h),您会注意到LoadLibrary实际上是一个宏定义,将您重定向到unicode或ascii版本
#ifdef UNICODE
#define LoadLibrary LoadLibraryW
#else
#define LoadLibrary LoadLibraryA
#endif // !UNICODE