在使用 Dev-C++5.11 的C++程序中编译了错误的文件
Wrong files compiled in a C++ program using Dev-C++5.11
我想问一些听起来很愚蠢的事情,但我不知道如何克服它。
我编写了一个C++程序,其中包含一些头文件和 2 个 cpp 文件,其中一个包含 main。在头文件中,有一些我创建的类的定义,这些类有一些内联函数,还有一些我在类中声明并在其中一个 cpp 文件(不是带有 main 的文件)中定义的函数。该程序编译并运行良好,但我想更改类的某些内联函数中的一些细节。我做了这些更改,程序编译并运行,但它使用的是以前版本的头文件而不是新版本。
我尝试使用新文件创建一个新项目,但即便如此,程序实际上也会使用它们的旧版本。
我在 Windows 10 中使用 Dec-C++5.11
。解决。看起来我需要更改文件名。谢谢!!
某些构建系统只会执行"增量"构建,因此如果您更改源文件,则会重新编译该源文件,但除非您重新构建整个项目,否则您的原始标头内容可能仍会被使用。如果您使用的是预编译标头,则更是如此,并且它还可能影响内联函数,因为它们的内容已经"内联"到未触发重建的源文件中。
在许多情况下,更改标头的文件名可以绕过此"缓存",但正确(且更加用户友好)的方法是确保指示 IDE 从头开始重建整个项目。在 Dev-C++ 中,该选项称为"全部重建"。我通常会在更改头文件时推荐此选项。
(如果你使用的是 GNU Makefiles,你会在下一次make all
之前执行make clean
)。
相关文章:
- 使用 MEX 编译C++文件
- 获取 clang++:错误:在编译文件系统库的代码时
- 如何交叉编译C++文件
- 使用 MinGW 在 Windows 上的命令行编译C++文件
- 选择特定版本的 Visual Studio 命令行工具包,并根据特定版本的C++运行时环境编译文件
- 解析模板和范围后获取编译文件?
- 我的 PowerShell 脚本无法按预期工作(用于编译C++文件)
- 如何在不制作Visual Studio 2017项目的情况下编译C++文件?
- 'void *' 'void (*) (bool)' 指针使用 c ++ 编译器在 C 中编译文件的错误
- 在没有节点GYP的目标平台上编译C/C 文件
- 生成文件似乎以错误的顺序编译文件
- 编译 C++ 文件失败,因为找不到"ssize_t"的定义
- NeatBeans Makefile:麻烦编译.H文件
- 我无法编译文件系统库
- 在不使用预编译头C++项目中编译 C 文件
- 无法使用 Xcode 和终端在 Mac OS 上使用 OpenGL 库编译 c++ 文件
- 获取编译文件的列表,并由Make Project包含
- MinGW .h 编译文件不起作用:此文件的版本与您运行的 Windows 版本不兼容
- 编译 c++ 文件时出错:未定义的符号
- C++编译文件