Code :: Blocks无法找到函数声明或定义

时间:2012-04-11 10:33:25

标签: codeblocks

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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