gpt4 book ai didi

c++ - 如何不在项目文件之一中添加预编译头文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:00 25 4
gpt4 key购买 nike

我遇到了这个问题,通常你们都会问我为什么,所以我先解释一下,这样你们就可以回答我,我正在处理一个至少有 500.000 行的源,但现在我的一个源我刚创建的 (.cpp) 文件不能添加预编译头,在这种情况下是“StdAfx.h”,我必须NOT编辑项目预编译头设置,显然如果我尝试编译我的在新文件中不包含 stdafx 的项目我将被 C1010 粉碎,我试过的是这个

StdAfx.h:

#ifndef __ABC123
//do all your includes
#endif

我的文件.cpp:

#define __ABC123
#include "StdAfx.h"
#undef __ABC123

虽然这不起作用,但 stdafx.h 仍包含这些文件。为什么我不能在这个 .cpp 文件中包含 stdafx.h 是因为 stdafx 上的一些包含与这个 cpp 的包含有很多冲突。我无法修改 stdafx 包含,因为有数千个其他文件使用它,如何处理?

最佳答案

不可能。你把自己画到这里的角落里了。让我解释一下。

PCH 旨在用于整个 项目。每个翻译单元都应包含 PCH。

此行为可以被覆盖,但只能通过相关翻译单元的项目设置。您已经说过您不能编辑项目设置,因此消除了您唯一的逃生途径。

如果您真的需要这个并且没有出路,我会考虑采取一些激烈的步骤,例如将非 PCH 代码移到它自己的项目中。

关于c++ - 如何不在项目文件之一中添加预编译头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com