在使用 Dev-C++5.11 的C++程序中编译了错误的文件

Wrong files compiled in a C++ program using Dev-C++5.11

本文关键字:编译 文件 错误 程序 C++ Dev-C++5      更新时间:2023-10-16

我想问一些听起来很愚蠢的事情,但我不知道如何克服它。

我编写了一个C++程序,其中包含一些头文件和 2 个 cpp 文件,其中一个包含 main。在头文件中,有一些我创建的类的定义,这些类有一些内联函数,还有一些我在类中声明并在其中一个 cpp 文件(不是带有 main 的文件)中定义的函数。该程序编译并运行良好,但我想更改类的某些内联函数中的一些细节。我做了这些更改,程序编译并运行,但它使用的是以前版本的头文件而不是新版本。

我尝试使用新文件创建一个新项目,但即便如此,程序实际上也会使用它们的旧版本。

我在 Windows 10 中使用 Dec-C++5.11

解决。看起来我需要更改文件名。谢谢!!

某些构建系统只会执行"增量"构建,因此如果您更改源文件,则会重新编译该源文件,但除非您重新构建整个项目,否则您的原始标头内容可能仍会被使用。如果您使用的是预编译标头,则更是如此,并且它还可能影响内联函数,因为它们的内容已经"内联"到未触发重建的源文件中。

在许多情况下,更改标头的文件名可以绕过此"缓存",但正确(且更加用户友好)的方法是确保指示 IDE 从头开始重建整个项目。在 Dev-C++ 中,该选项称为"全部重建"。我通常会在更改头文件时推荐此选项。

(如果你使用的是 GNU Makefiles,你会在下一次make all之前执行make clean)。