修复“错误C2065:未声明的标识符”

时间:2009-11-09 18:21:19

标签: c++ visual-studio-2008

首先,我完全超出了我的深度。所以这个问题可能是错误的问题,但这里有......

根据this question的接受答案,我正在尝试编译Audiere library的绑定,这些绑定由Harald Fielker制作并在mailing list archives中提供。

我在VC ++ Express Edition中打开了.vcproj文件,并将其转换为可以使用的解决方案。然后我进入了房产并添加了:

  • “C:\ Documents and Settings \ tdw20 \ My Documents \ audiere-win32 \ include”到其他包含目录

  • “C:\ Documents and Settings \ tdw20 \ My Documents \ Downloads \ audiere-win32 \ lib”到其他库目录

然而,我仍然得到“未声明的标识符”错误。完整输出列出on pastebin

有没有人知道可能出现什么问题?

3 个答案:

答案 0 :(得分:0)

我只能开始猜测,但您确定头文件是您预期的位置吗?

答案 1 :(得分:0)

outputstream.cpp 中引用的OutputStream类无法识别。据我所知,它在audiere项目的 audiere.h 头文件中定义,而outputstream.cpp第2行的#include指令应该包含该文件。

在VC ++中尝试两件事:

  1. 在outputstream.cpp的第8行中,双击OutputStream,然后右键单击,在上下文菜单中选择转到定义。查看它打开的文件(如果有)。
  2. 右键单击第2行(#include <audiere.h>),然后选择打开文档... 。再次查看它是否打开文件。
  3. 实际上,刚刚意识到你说你已经将 C:\ Documents and Settings \ tdw20 \ My Documents \ audiere-win32 \ include 添加到了include中,但它看起来像 audiere.h 位于audiere的 src 子目录中。您为lib指定的路径也是不一致的 - 它在路径中有一个额外的 Downloads dir 。这两条路径都是正确的吗?添加到包含路径的目录应包含头文件,例如 audiere.h ,而lib的目录应包含 .lib 文件。

答案 2 :(得分:0)

您不需要为C#绑定的libaudieresharpglue.dll编译outputstream.cpp。你下载了Audiere 1.9.4 Win32二进制版吗?我实际上遇到了一个问题,我从2002年下载了旧版本的Audiere,我认为,直到我意识到我的版本错误才给我带来了很多麻烦。

您需要担心的源文件是include/audiere.h。您将链接到lib/audiere.lib,并且在运行时,您的应用程序将需要访问bin/audiere.dll(当您运行可执行文件时,应该可以将其移动到DLL路径上的可执行文件目录中)。 / p>