问题标签 [precompiled-headers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
682 浏览

c++ - Makefile/双重编译

最近我注意到(在其他人扩展项目之后)编译时间显着增加。有人建议我使用 c++ 预编译的头文件。“include”部分被移动到一个单独的文件“precompiled.h”

并且头文件特定的makefile具有以下内容:

当然,主 .cpp 文件中的第一行是“include "precompiled.h"”。但是,在执行主文件特定的 make 文件后,我得到了编译“precompiled.h”文件时得到的报告和警告(与 myFile1.cpp myFile1.cpp 相关的警告和报告)。我猜编译过程是重复的。我读过预编译的头文件与我没有生成的 .gch 文件相关联。对此的任何帮助都将受到高度赞赏。谢谢

我想包含特定于主 .cpp 文件的 makefile 的内容会很有帮助。也许通过更改此文件,我可以“告诉编译器”加载已完成一次。

0 投票
1 回答
3079 浏览

visual-studio - 你如何关闭“预编译头”,默认“选中”MS VS

当我创建一个新项目时,precomp 标头默认为打开。如何使其默认关闭?

0 投票
1 回答
7256 浏览

android - 如何在 Android NDK 项目中使用预编译头文件?

我正在为 Android 移植一个大型 C++Visual Studio项目GCC。由于文件数量众多,编译时间非常缓慢。我想设置一个预编译的头文件,但我发现GCC 文档令人困惑。

我有一个stdafx.h文件,它应该是预编译头文件的基础,并且是所有.cpp源代码中的第一个包含文件。有人知道我需要添加什么才能完成Android.mk这项工作吗?

0 投票
2 回答
10866 浏览

c++ - 如何有效地使用预编译头文件(使用 /Yc 和 Yu 选项)?

我们使用 Visual Studio 2003 (VC71) 进行编译。为了减少编译时间,我们更改了构建脚本,使其为每个 CPP 文件生成预编译头 (.pch) 文件。

makefile 中使用的选项:

这样,目标的编译时间减少了 30%。但是任何人都可以帮助我了解它如何减少编译器时间,即使每次都生成 pch 文件以编译每个 CPP 文件。

另外,这是正确的方法吗?我们应该使用 Yc 和 Yu 组合吗?我不能使用 /Yu 选项,因为 pch 文件应该至少生成一次。

0 投票
2 回答
20546 浏览

c++ - 在头文件或源文件中包含 stdafx.h?

我有一个名为 stdafx.h 的头文件,当然这个是预编译的。我已经读过我应该将这些文件包含到我的 .cpp 文件中,但是其中一些语句在随附的头文件中已经需要。

我应该将 stdafx 添加到我的标题中还是添加到我的 cpp 中?我认为将其放入标题中是一种好习惯,但我似乎不得不将其放入标题中。

例子:

stdafx 包含 freeglut。
我的类头文件具有 GLenum 的属性。

我应该将 stdafx 包含在课程的 .h 中吗?

0 投票
5 回答
6277 浏览

c++ - stdafx.h 跨平台没有问题?

嘿,过去几天我一直在关注 learncpp.com tuts,他们说要从 Code::Blocks 的 .cpp 文件中注释掉“#include "stdafx.h"。

删除包含行是必须的吗?如果您有数百个文件并从 Win7 上的 Visual Studio 更改为 Linux 上的 Code::Blocks 或使用 Mac 将其交给其他人会怎样?

0 投票
1 回答
417 浏览

c++ - 使用自动工具检查预编译的头文件?

如何检查 autoconf 是否支持 gcc 预编译头文件?有没有像 AC_CHECK_GCH 这样的宏?我正在处理的项目有很多模板和包含,我尝试用最常用的包含编写一个 .h 并手动编译它。将它与其他自动工具集成可能会很好。

0 投票
2 回答
1294 浏览

c++ - 包含时出错在 iOS 预编译的头文件中

我正在开发一个 iOS 应用程序,并且正在使用 Boost 库中的共享指针。我的应用程序有点笨重,所以我一直在努力精简它。我认为移动这条线:

从单个文件到预编译的头文件将为我节省一些空间,因为我听说 shared_ptr 的每个包含都重新编译了不同的版本,并且不清楚编译器是否正在删除重复项。

当我将此行移至 pch 文件时,会出现大量编译时错误,其中大部分是:

我已将 .pch 文件更改为其信息中的 sourcecode.cpp.h 文件,但这并没有帮助。

想法?

编辑:刚刚验证在我的二进制文件中实际上有已编译的 shared_ptr 的重复副本!

0 投票
2 回答
1674 浏览

xcode - 归档构建时 Xcode 4 gcc 失败:跳过预编译步骤?

我已经能够在 Xcode 4 上成功存档,但突然间(??),我不能。构建失败并出现无效的 .pch 文件。错误粘贴在下面(通过重新尝试获得-Winvalid-pch,但从构建日志中似乎发生的情况是预编译的标头实际上没有被预编译——它是一个 iOS 应用程序,直接从 CopyPNG 步骤到 .米编译。

我会不会不小心翻转了一些东西?在我的 .pbxproj 文件的差异中似乎没有什么奇怪的。

对于所有配置,“Precompile Prefix Header”构建设置为“Yes”。产品->清洁没有帮助。删除派生数据下缓存的 pch 内容并不能修复它。真的似乎缺少整个“预编译”步骤。

另一个事实:启用设置“增加预编译头文件的共享”确实让它成功。但是我几乎找不到关于这个标志的真正作用的参考,而且我以前从未使用过它。也许合理的是,当这种情况发生时,预编译步骤仍然没有出现。

0 投票
1 回答
2489 浏览

c++ - 在 Mac 10.6.3 上使用 gsl

我最近有一个使用 GSL 的项目。在我在 Mac 10.6.3 上安装 GSL 包之后。我无法编译我的代码。

gsl 库位于 /usr/local/lib,头文件位于 /usr/local/。

当我编译我的代码时,我收到以下错误。如果我没有在makefile中指定“-m32”,它仍然会给出同样的错误,只需将“i386”更改为“x86_64”。谁能帮我?

谢谢!

顺便说一句,我应该像上面那样包含 gsl 吗?实际上我对编程很陌生。

构建代码: