2

代码块在我的项目中找不到某些函数的定义或声明。

问题:有没有办法强制重新扫描源代码树?

我相信所有相关文件都包含在项目中。(刚刚检查过:它无法按名称找到struct在打开的文件中声明的 a 。)

4

2 回答 2

2

首先,让我给出几种方法来帮助 C::B 找到你的声明/定义。

虽然有些明显,但您应该确保函数位于以下文件中: 1) 项目本身的一部分(即它应该显示在项目-> 工作区窗口中)。如果您打算将它作为项目的一部分但它不存在,请转到项目->添加文件并添加文件。2) 如果您不希望/不需要该文件成为项目的一部分,但仍想访问声明/定义,则需要让项目经理知道在哪里可以找到该文件。您可以在项目->构建选项中执行此操作并设置搜索目录。设置搜索目录时要小心...您可以为整个项目或构建目标(调试或可执行文件)设置它。

注意:当您在 C::B 中打开多个项目时,会出现一个常见问题。即使你所有的项目都是“开放的”,也只有一个是“激活的”。因此,仅仅因为您打开了一个文件,并不意味着该文件是已激活项目的一部分。您可以进行搜索->打开文件”,如果文件打开但不在当前活动项目中,它将在文件中查找代码。

“重新扫描”的唯一方法是在更改源代码或项目设置后重新构建项目。您可能需要重新启动 C::B。如果你在做完上述操作后仍然找不到声明/定义,我建议你制作一个示例程序,看看它是否会找到声明/定义。如果是这样,那么您可以检查您的项目和示例项目之间的设置。在最坏的情况下,您可以将代码从项目复制到示例项目。如果这不起作用,您可以重新安装 C::B 并重试。不好玩,但有时它会起作用。

于 2019-07-06T01:43:35.313 回答
0

您可以尝试重新构建项目,但请确保至少一个其他文件包含结构的标头或确保标头和源文件包含在项目中。

于 2013-01-18T16:05:39.777 回答