首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++项目中VisualStudio中未正确链接的预编译头

C++项目中VisualStudio中未正确链接的预编译头
EN

Stack Overflow用户
提问于 2019-11-20 22:58:23
回答 1查看 530关注 0票数 2

场景

如果在我的VS项目中有以下目录结构。

代码语言:javascript
复制
    project/
      |
      |-- include/
      |     |
      |     pch.h
      |
      |-- src/
      |     |
      |     pch.cpp
      |
      Project.cpp

我的文件是这样写的:

Project.cpp

代码语言:javascript
复制
#include "include/pch.h"

int main()
{
    std::cout << "Hello World!\n";
}

pch.h

代码语言:javascript
复制
#ifndef _PCH_H
#define _PCH_H

// IO Libraries
#include <iostream>     
#include <iomanip>      
#include <io.h>         
#include <ostream>
#include <conio.h>

... more headers

#endif // !_PCH_H

pch.cpp

代码语言:javascript
复制
#include "../include/pch.h"

现在,每个元素的属性配置为预编译头,如下所示:

项目

代码语言:javascript
复制
Precompiled Header                   Use(/Yu)
Precompiled Header File              pch.h
Precompiled Header Output File       $(IntDir)$(TargetName).pch

pch.cpp

代码语言:javascript
复制
Precompiled Header                   Create(/Yc)
Precompiled Header File              pch.h
Precompiled Header Output File       $(IntDir)$(TargetName).pch

问题

当我试图编译这个项目时,我会收到以下错误:

代码语言:javascript
复制
Severity    Code     Description
-------------------------------------------------------------------------------------------------------
Error       C2857    '#include' statement specified with the /Ycpch.h command-line option was not found in the source file  

Project File                                           Line  
-------------------------------------------------------------------------------------------------------
C:\Workspace\VisualStudio\C++\Poker\Poker\src\pch.cpp  2
EN

回答 1

Stack Overflow用户

发布于 2019-11-21 01:34:41

根据编译器错误C2857

当在源文件上使用/Ycfilename选项创建预编译头文件时,该源文件必须包括文件名头文件。源文件包含的每个文件,包括指定的文件名,都包含在PCH文件中。在使用/Yufilename选项编译的其他源文件中,文件名的包含必须是文件中的第一个非注释行。编译器忽略源文件中的任何内容,然后才包括在内。

如果这些细节中的任何一个都是错误的,那么您就会遇到编译错误。在我看来,您为/Yc选择的源文件实际上并不包括"pch.h“。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58964711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档