【问题标题】:Fixing "error C2065: undeclared identifier"修复“错误 C2065:未声明的标识符”
【发布时间】:2009-11-09 18:21:18
【问题描述】:

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

根据对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

有谁知道可能出了什么问题?

【问题讨论】:

标签: c++ visual-studio-2008


【解决方案1】:

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

【讨论】:

  • 如果是这种情况,并且他已经包含了它们,他会从预处理器中得到一个文件未找到错误。更有可能他没有在源代码中包含必要的标题(之后,您的建议可能仍然是正确的)。
【解决方案2】:

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

在 VC++ 中要尝试的两件事:

  1. 在 outputstream.cpp 的第 8 行中,双击 OutputStream,然后右键单击,然后在上下文菜单中选择 转到定义。查看它打开了什么文件(如果有)。
  2. 右键单击第 2 行 (#include <audiere.h>) 并选择 打开文档...。再看看它是否打开了一个文件。

实际上,刚刚意识到你说你添加了 C:\Documents and Settings\tdw20\My Documents\audiere-win32\include 到包含但它看起来像 audiere.h 位于audiere 的src 子目录中。您为库指定的路径也不一致 - 它在路径中有一个额外的 Downloads dir。这两条路径都绝对正确吗?添加到包含路径的目录应包含头文件,例如 audiere.h,而库的目录应包含 .lib 文件。

【讨论】:

  • 谢谢乔恩。 1 告诉我它没有定义,2 打开文件,但短语“OutputStream”不在该文件中的任何位置。 (缺少下载是一个错字,更改这些路径会导致更直接的错误。)
  • 顺便说一句,听起来 VC 选择了错误的audiere.h。 VC 将在包含路径中的目录中查找。您可以通过重新排序这些目录来微调此行为。您需要找到确实定义了 OutputStream 类的audiere.h,并确保它位于包含路径中,无论您当前包含的audiere.h 是哪个目录。
  • 我尝试编译 outputstream.cpp。一旦我将 audiere/src 目录添加到它编译好的项目的 C++/General/Additional Include Directories 属性中。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 2011-04-16
    • 2011-04-16
    • 2010-12-24
    • 2023-03-04
    • 2011-03-02
    • 2011-12-22
    • 1970-01-01
    相关资源
    最近更新 更多