1

我有一个项目,我正试图让它读取一个 .OGG 文件。我已经从这里libogg下载了and ,编译了它们(在我必须先构建 libogg 时遇到了一些麻烦),然后得到了以下文件:libvorbis

libogg.lib
libogg.dll
libvorbis.lib
libvorbis.dll
libvorbisfile.lib
libvorbisfile.dll

我将它们全部拖到我项目的 Libraries 文件夹中,已经添加到项目中,并将它们包含在 Linker->Input(仅 .lib)中。

接下来,我将标题复制到我的项目的 Includes 文件夹中,该文件夹也已添加到项目中,其中包含以下文件:

ogg/ogg.h
ogg/os_types.h

vorbis/codec.h
vorbis/vorbisenc.h
vorbis/vorbisfile.h

然后我添加了一些代码,我得到错误“程序无法启动,因为计算机中缺少 libvorbisfile.dll。” 而且我很确定该文件位于 Library 文件夹中并在属性中正确定义。

一路上我是不是做错了什么?我怎样才能找出问题所在以便修复它?

我已经尝试将 .dll 放入项目文件夹和 Windows/System32 文件夹中,但没有成功。

4

1 回答 1

1

库文件夹适用于您的 .lib 文件,但它会在运行时查找 .dll,您的项目设置对其没有影响。Windows 在几个地方寻找 .dll,但让程序运行的最简单方法是将 .dll 放在工作目录中,这是您运行可执行文件的位置(可能与 .exe 相同的目录文件)。

于 2014-03-07T02:44:48.190 回答