问题标签 [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 投票
2 回答
301 浏览

iphone - 针对 iPhoneOS 2.2.1

我不相信我正在使用任何 3.0 特定的 API,但不知何故,每当我编译时,我都会收到一条警告“此项目使用仅在 iPhone SDK 3.0 及更高版本中可用的功能”,然后是一堆错误。如果我将 Base SDK 更改为 3.0,警告和错误就会消失,但是我当然不能针对 OS 2.2.1

我看到这是来自 project_Prefix.pch 文件,我假设它是在 XCode 最初创建项目时创建的。我看不到这个文件是如何包含在内的,但我相信这是问题的根源。我尝试删除它,但是构建根本无法编译。

我需要以某种方式重新生成这个文件吗?

0 投票
2 回答
2149 浏览

autotools - 使用 Autotools 预编译的头文件

是否可以在使用 automake / libtool 的项目中使用 gcc 预编译头文件?

添加新的 make 规则来构建预编译的头文件并不困难。问题是您还必须添加 libtool 和 AFAIK 引入的编译标志,它无法处理头输入文件。

你怎么能那样做?

0 投票
4 回答
13367 浏览

c++ - Visual C++ 预编译头错误

更新:

在我的头文件中包含 stdafx.h 有什么影响?


我在 Linux/Eclipse CDT 中开始了一个 C++ 项目,并将其导入 Visual C++/Windows。

在 Visual C++ 中,我开始使用预编译头文件来加速编译并定义 stdafx.cpp 和 stdafx.h。

这是我的 stdafx.h

和我的 stdafx.cpp

在每个 .h 和 .cpp 文件中,我都有以下内容:

对于发布和调试,我都有“创建预编译头文件 (/Yc)”。它在调试模式下编译得很好,但在发布模式下它会不断报告

如果我同时切换到“使用预编译头”,我会同时进入调试和发布

有谁知道发生了什么?

0 投票
3 回答
9581 浏览

c++ - makefile 制作 .gch 文件而不是 .o 文件的问题

所以,我正在编写一个程序来测试某些数据结构的效率。我有所有的 .h 文件,并且我制作了一个非常糟糕的 makefile,它可能是错误的,尽管它似乎在一定程度上起作用。它不是生成 .o 文件,而是生成 .gch 文件,因此当它尝试访问所有 .o 文件时,它们不会被找到。这是我的makefile

0 投票
4 回答
42139 浏览

c++ - 如何在项目中实现预编译头文件

我了解预编译标头背后的目的和原因。但是,在实施时有什么规则呢?据我了解,它是这样的:

  1. 将您的项目设置为使用带有 YU 指令的预编译头文件。
  2. 创建您的 stdafx.h 文件并将其设置为您的预编译头文件。
  3. 将此作为每个 .h 文件中的顶部包含语句包含在内。

这对吗?您是否应该将其排除在预编译头文件中包含的文件中?目前,按照我的直觉,我得到以下编译错误:

错误 C2857:在源文件中找不到使用 /Ycstdafx.h 命令行选项指定的“#include”语句

命令行选项如下:

/Od /I "../External/PlatformSDK/Include" /I ".." /I "../External/atlmfc/Include" /D "_D​​EBUG" /D "_UNICODE" /D "UNICODE" /Gm / EHsc /RTC1 /MDd /Yc"stdafx.h" /Fp"..\Output\LudoCore\Debug\LudoCore.pch" /Fo"....\Output\LudoCore\Debug\" /Fd".. ..\Output\LudoCore\Debug\vc80.pdb" /W4 /WX /nologo /c /ZI /TP /wd4201 /errorReport:prompt

0 投票
3 回答
1886 浏览

c++ - 如何在不关闭预编译头文件的情况下修复 C1010 错误?

所以,我必须在我的 VS 2005 项目中使用预编译的头文件。现在我有一个没有#include“stdafx.h”的共享源文件......如何在我的项目中包含共享源文件而不将stdafx.h添加到源文件的顶部并且不关闭预编译标头??

0 投票
3 回答
396 浏览

c++ - 在 Visual C++ 中使用预编译头文件的最隐蔽方式是什么?

假设我有一个项目,其中包含文件 A.cpp、B.cpp、C.ppp 和匹配的头文件(仅此而已)。C++ 文件包括系统头文件或来自其他模块的头文件。

我想通过命令行操作(例如,使用Make),使用'cl',使用预编译的头文件功能将它们编译到一个库中。

我应该采取哪些步骤?什么是命令行开关?

0 投票
4 回答
22505 浏览

c++ - 带有 DLL 解决方案的预编译头文件。无法打开预编译的头文件

当此解决方案使用 .lib 文件而不是 .dll 文件时,这可以正常工作。

我有我的所有项目,除了一个当前使用预编译头的项目,没有错误。预编译的头文件称为“ LudoGlobal.h ”。我正在尝试将最后一个项目链接到这个预编译的头文件(它存在于一个单独的“核心”项目中),但我收到以下错误:

错误 4 致命错误 C1083:无法打开预编译的头文件:'....\Output\LudoSound\Debug\LudoSound.pch':没有这样的文件或目录 ludosoundmanager.cpp 1

对于每个 .cpp 文件。为什么是这样?我该如何解决?

我意识到 LudoSound.pch 不存在。我假设它可能是在 LudoSound 编译时创建的,是吗?

0 投票
3 回答
512 浏览

compiler-construction - 致命编译错误 C1083:无法打开源文件是什么意思?

错误 1 ​​致命错误 C1083:无法打开源文件:'FpDebug/BalanceGrabber.pch':没有此类文件或目录 c1xx

0 投票
2 回答
1082 浏览

c++ - 可以将预编译的头文件与 MIDL 生成的文件一起使用吗?

我们确实有一个项目,它使用 MIDL 工具来创建特定的头文件/iid 和代理文件。这些文件使用调用 nmake 的构建后步骤编译并与项目的其余部分链接。

是否可以将预编译的头文件与 IDL 生成的文件一起使用?如何注入#include "stdafx-h"和删除其他包含的标头?