如何在项目中实现预编译头

2024-04-12

我了解预编译头背后的目的和推理。然而,实施时有哪些规则呢?根据我的理解,事情是这样的:

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

这是正确的吗?您是否应该将其排除在预编译头中包含的文件中?目前,当我遵循我的直觉时,出现以下编译错误:

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

命令行选项如下:

/Od /I “../外部/PlatformSDK/包含”/I “..”/I“../外部/atlmfc/包含” /D“_DEBUG”/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 /错误报告:提示


您的 stdafx.cpp 应该包含 stdafx.h 并使用构建/Yc"stdafx.h".

您的其他 *.cpp 应包含 stdafx.h 并使用构建/Yu"stdafx.h".

请注意编译器选项中使用的双引号字符!

以下是用于 stdafx.cpp 创建预编译头的 Visual Studio 设置的屏幕截图:

以下是相应的命令行选项(它们是只读的,但反映了其他页面上指定的设置;请注意,IDE 在编译器选项中的文件名周围插入双引号字符):

这是我的 stdafx.cpp 文件中的内容:

// stdafx.cpp : source file that includes just the standard includes
// CallWinsock.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

// TODO: reference any additional headers you need in STDAFX.H
// and not in this file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在项目中实现预编译头 的相关文章

  • 从另一个命令 Handle() 方法中调用命令

    嗨 我正在使用简易注射器 https simpleinjector orgDI 库并一直在关注一些关于围绕命令模式设计的架构模型的非常有趣的材料 同时 在我的架构的命令方面 https cuttingedge it blogs steven
  • WPF 中的填充弧

    I am trying to draw a figure something like this 我需要为每个弧段都有一个独特的元素 我可以根据需要处理事件并重新着色 我有点不确定如何在 WPF 中创建正确的几何图形 我可以根据圆的半径和与
  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • linq 中使用字符串数组 c# 的 'orderby'

    假设我有一个这样的方法定义 public CustomerOrderData GetCustomerOrderData string CustomerIDs var query from a in db Customer join b in
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

    我想在应用程序启动时加载欢迎屏幕 然后用户单击欢迎屏幕上的按钮 然后关闭欢迎屏幕 最后显示主屏幕 static void Main startup method being called Application EnableVisualSt
  • 通过 Tab 键浏览 XML 文档字段

    In VB NET you can move through the fields in the XML member documentation with the Tab key 这在 C 中不起作用 还有其他方法吗 除了用鼠标将光标放在
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include

随机推荐

  • 如何在 NativeScript 中使用 swift 库?

    我正在尝试使用这个 ios 图表库 https github com danielgindi ios charts在 NativeScript 中 这个库是用 Swift 编写的 而不是用 Objective C 编写的 我可以使用它吗 我
  • 编译并运行 Java 应用程序的源代码

    我需要从我的 Java 应用程序编译并运行用 Python Pascal 或 C 编写的源代码 单个文件 我需要知道 如果编译过程成功 编译后的程序的返回输出 我怎样才能做到这一点 我一直在做同样的事情 public String comp
  • 从 ng carousal 顶部删除幻灯片编号文本

    我正在使用 ng bootstrap 的轮播
  • 何时在空结构上使用 impl [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我看到了以下代码 https github com paul schaaf solana escrow blob 4a2b92e6a6585f9
  • Safari Mobile iframe 存在内部 iframe 大小问题

    我有一个 简单 的 Web 应用程序 有一个导航和一个内容区域 在内容区域内 我有一个包含更复杂内容的 iframe 不幸的是 iframe 中的内容有另一个 iframe 在这里查看概述 在我的场景中 查看完整的 iframe 内容非常有
  • 带负载的 Jsoup HTTP POST

    我正在尝试通过 jsoup 发出此 HTTP 请求here http developer decarta com Docs REST BatchRequests http api decarta com v1 KEY batch reque
  • 如何在房间中制作复合钥匙

    我刚刚在房间里找到了 PrimaryKey 注释 那么如果我想制作复合键那么我该怎么做呢 利用primaryKeys Android 开发者文档 https developer android com reference android a
  • 发送 cmdarray 供 exec 处理——hello world

    我不是发送一系列命令 hello world 到exec https docs oracle com javase 7 docs api java lang Runtime html exec 28java lang String 5B 5
  • 更改数组的值会更改原始数组 JavaScript

    以下代码导致 id 中的两个元素0被设置为 即使我只想将其中一个设置为 1 我只是创建对 labelArray 的引用 还是其他什么 labelArray sort compare valueArray labelArray valueAr
  • HTML 元素的“默认操作”是否有标准资源? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有一个定义的标准来定义各种 HTML 元素的默认操作 我看过W3C 的 HTML 规范 h
  • 宏扩展可以包含(声明...)表达式吗?

    Common Lisp Hyperspec 规定 宏形式不能扩展为声明 声明表达式必须显示为它们引用的形式的实际子表达式 我对 扩展到 的含义感到困惑 由于显而易见的原因 如下宏将不起作用 defmacro optimize fully d
  • 如何将 rustc 标志传递给货物?

    我正在尝试禁用死代码警告 我尝试了以下方法 cargo build A dead code rla git master 货物构建 A dead code 错误 参数无效 所以我想知道如何将 rustc 参数传递给 Cargo 您可以通过几
  • 如何根据两个值对列表进行排序

    我有一个列表 我想根据两个值日期和状态进行排序 如下所示 pollsList sort a b gt b active compareTo a active pollsList sort a b return b actualStartDa
  • AnimationTimer 是否在自己的线程中运行?

    JavaFX 是否有AnimationTimer启动时在单独的线程上运行 我在调试器中运行了一个 JavaFX 应用程序 有或没有AnimationTimer 并且在这两种情况下都有 6 个线程在运行 另外 JavaDocs 没有提到它的实
  • 正则表达式在句点后添加空格,但当句点表示小数或字母缩写时不添加空格?

    以简单的方式使用 php regexp 是否可以修改字符串以在单词后面的句点之后添加空格 但不能在前后有数字 例如 1 00 的句点之后添加空格 我还需要它来忽略单字母缩写 例如 N Y String Looks like this Wit
  • Java非常大的堆大小[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人有在 Java 中使用非常大的堆 12 GB 或更大 的经验吗 GC 是否会使程序无法使用 您使用什么 GC 参数 Sun 或 B
  • plantUML:泳道和重叠连接器

    我正在使用 plantUML 泳道来可视化内部流程 但不幸的是 当我想要显示已执行和分离的流程时遇到重叠线 我正在使用这个 startuml title something dee4e8 p1 c4c9cd p2 daf0fe Backen
  • 如何在空手道中运行单个场景?

    为了测试空手道的特定功能 我运行 mvn test Dkarate options classpath myfeature feature 有没有办法运行定义到功能中的单个场景 是的 您可以通过标签 https github com int
  • 仅获取用户媒体(照片) - Twitter API

    使用 Twitter API V1 1 是否可以检索用户发布的照片 我可以看到 执行此操作的一种方法是拉动用户的时间线include entities true并以这种方式搜索照片 但这似乎是一种极其麻烦的方法 而且容易出现问题 例如 我们
  • 如何在项目中实现预编译头

    我了解预编译头背后的目的和推理 然而 实施时有哪些规则呢 根据我的理解 事情是这样的 将您的项目设置为使用带有 YU 指令的预编译头 创建 stdafx h 文件并将其设置为预编译头 将此作为每个 h 文件中的顶部包含语句 这是正确的吗 您