问题标签 [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 回答
440 浏览

c++ - 在 .pch 中使用 #define

如果我在预编译的头文件中定义一些东西,比如:

然后在头文件中执行:

这应该有效。但由于某种原因它不是。我知道,因为当我编译时,我得到关于 HINSTANCE 没有命名类型的错误。

我是否需要做任何其他事情才能使这些定义可用?

0 投票
4 回答
1886 浏览

c++ - #define 以及如何使用它们 - C++

如果我这样做,在预编译的头文件中:

然后在源代码中我这样做:

我是否收到一条错误消息:

错误:运算符“&&”没有正确的操作数

我以前从未见过这种情况。我在 OS X 10.6.3 上使用 XCode 3.2、GCC 4.2

0 投票
1 回答
358 浏览

c++ - 预编译的头文件 .pch 文件是机器敏感的吗?

我尝试使用以下方式重用 .pch 来加快构建速度:

  1. 在 stdafx.cpp 上使用 /Yc 将 .pch 文件创建到文件夹
  2. 排除项目中的stdafx.cpp,修改链接选项

它在我的机器上成功,但在另一台机器上失败,收到错误消息:error C2011: '***' : 'struct' type redefinition

所以首先我想问一下 .pch 文件是否对机器敏感?其次,上述方法可行吗?

谢谢!

0 投票
1 回答
2593 浏览

qt - 使用 Qt 和 g++ (QtCreator) 的预编译头文件

我在 Qt 项目上使用预编译头文件来加快编译时间。我正在使用 Qt 4.6.2 。当我使用 macx-g++(意思是 g++ 编译器)编译项目时,它不会自动为每个标头包含 stdafx.h。在 xcode 下编译时,它将起作用。我正在使用 PRECOMPILED_HEADER qmake 常量指向我的 stdafx.h。

那么这是g ++的限制吗?还是有解决方案/解决方法?

谢谢你的帮助,鲍里斯——

0 投票
1 回答
759 浏览

objective-c - GNUStep 使用来自 Xcode 项目的预编译(和前缀).pch 头文件?

我正在尝试使用 GNUStep-make 构建一个 Xcode 项目。目前该项目非常小(3 节课),但在接下来的几周内将增长到数百节课,所以我现在正努力把所有事情弄清楚并组织得井井有条。

Xcode 创建一个 ProjectName_Prefix.pch 文件,该文件是一个头文件:a) 预编译 b) 为我项目中的每个文件添加前缀;至少如果我理解正确的话。

现在,我如何告诉 GNUStep-make 在构建时如何处理这个文件?我已将它添加到 XXX_PRECOMPILED_HEADERS 变量中。

有了这个,构建失败并出现错误:

我的makefile中也有以下内容:

我不确定我在这里做错了什么。我基本上已经尝试按照预编译头文件的 GNUStep 文档进行操作。

我的项目的所有源文件都没有明确包含 Foundation 框架,因为这个头文件就是这样做的。

0 投票
1 回答
584 浏览

visual-studio - 预编译头文件是否有助于重建?

我阅读了一些关于预编译头文件的问题,但找不到直接的答案。

我通常重建我的整个 Visual Studio 2010 解决方案。

我的解决方案中的一个项目是 C++/CLI 项目。

我认为在该项目中使用预编译头文件会提高编译速度。

经过一些实验,似乎使用预编译头文件只会减慢重建过程。

预编译的标头是否仅有助于未完全清除旧文件的构建?

编辑

例如,假设我的 StdAfx.h 只有 1 行:

0 投票
1 回答
269 浏览

c++ - C++ 重构预编译头文件

不幸的是,在一个正在工作的项目中,有人有一个好主意,将来自相当大项目的每个文件的每个头文件放入预编译的头文件中。这意味着对项目中任何标头的任何更改都必须重新编译整个项目,并且所有 cpp 文件都花费了太长时间。

是否有任何像样的 C++ 重构工具可以自动将所需的包含在适当的 cpp 文件中?我真的不想用数百个不同的文件手动执行此操作。

0 投票
4 回答
21828 浏览

c++ - stdafx.h 的目的

该文件的目的是什么以及预编译头stdafx.h文件的含义是什么?

0 投票
2 回答
4698 浏览

c++ - 如何在 Visual Studio C++ 中使用预编译的动态库?

我想在我的项目中使用预编译库。我有 3 个文件夹:Include(.h 文件)、Lib(带有 .lib 文件)和 Bin(带有 .dll 文件和 .pdb 文件)。我以前从未使用过预编译库(我希望这是正确的术语。如果我错了,请纠正我)。我想使用这个 API。如何将所有这些东西添加到我的项目中?

我使用视觉工作室 2010 (cpp)。谢谢。

0 投票
2 回答
1570 浏览

c++ - 预编译头问题

我现在正在重新组织我的项目,最近一个简单的应用程序现在变成了一对 C++ 项目——静态库真正的应用程序

我想在两个项目之间共享一个预编译头文件,但在设置.pdb文件路径时遇到了一些麻烦。

假设我的第一个项目被调用并使用相应的文件Library构建它的文件。现在,调用第二个项目并将所有内容构建到同一个文件夹(和另一个文件)中。.libLibrary.pdbApplication.exe Application.pdb

现在,我的两个项目都基于一个实际的头文件创建了自己的预编译头文件 (Library.pch和)。它有效,但我认为这是浪费时间,而且我还认为应该有一种方法可以在两个项目之间共享一个预编译头文件。Application.pch

如果在我的Application项目中我尝试设置Use Precompiled Header (/Yu)选项并将其设置为Library.pch,则由于以下错误,它将无法正常工作:

那么,有没有人知道一些技巧或方法可以在两个项目之间共享一个预编译的头文件以保留正确的调试信息?