【问题标题】:GetProcAddress, Error 127 (ERROR_PROC_NOT_FOUND)GetProcAddress,错误 127 (ERROR_PROC_NOT_FOUND)
【发布时间】:2011-10-07 03:22:40
【问题描述】:

我正在尝试调用在 DLL 中定义的函数,此处记录:

http://xiph.org/vorbis/doc/vorbisfile/ov_fopen.html

LoadLibraryA 成功,GetProcAddress 似乎为我尝试过的所有其他函数返回了一个有效地址。这里返回 NULL,GetLastError() 返回 127 (ERROR_PROC_NOT_FOUND)。

const char* dllName = "libvorbisfile.dll";
mhDll = LoadLibraryA(dllName);
typedef int (__cdecl *OV_FOPEN)(char*, OggVorbis_File*);
OV_FOPEN ProcFOpen = (OV_FOPEN) GetProcAddress(mhDll, "ov_fopen");

我能做什么?

【问题讨论】:

  • 您是自己构建了 libvorbisfile.dll 还是从其他地方获得的?无论如何,depends.exe 可以告诉您 DLL 是否真的导出了该函数。

标签: c++ dll ogg


【解决方案1】:

根据this discussion thread,部分版本的libvorbisfile.dll 缺少ov_fopen。

【讨论】:

  • 我不知道您在哪里找到了该线程,但这里似乎就是这种情况。我在depends中打开了dll,功能不见了! :(
  • 我所做的只是在网络上搜索“ov_fopen libvorbisfile”,然后它就出现在结果的第一页。
【解决方案2】:

使用Depends 检查 DLL 并找出找不到该函数的原因。可能只是文档中的名称有误,或者存在名称错误问题。

【讨论】:

    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多