visual studio2019项目中引入头文件失效问题的解决

news/2024/7/16 6:51:50 标签: visual studio, ide

这几天把项目整理一下,但在引入头文件过程中非常曲折。

项目本身写好了可以运行,但是项目结构是这样的:
所以想把功能模块化,同一类协议功能放在一起。
在这里插入图片描述

于是建包,创建文件,导入头文件:
在这里插入图片描述
在新创建的文件中直接引入自己新创建的头文件是没问题的(没有红色波浪线)
在这里插入图片描述
但是在原来文件中引入我新创建的文件就有错误,总是引入不上:
在这里插入图片描述

后来,在反复尝试,折腾了两天才整明白咋回事

过程是:在解决方案中来回移动文件、创建文件,还有在资源管理器中尝试来回移动文件、创建文件。

最后发现原因:

  1. 解决方案中的文件的所在文件夹是假的,只是逻辑上存在,实际没有(资源管理器中没有)
  2. 原来的文件引用新创建的文件不成功是因为,文件夹层级问题(我也是笑哭了我*)

在解决方案中创建的 新建项 是直接在项目根目录中创建:
在这里插入图片描述
而原来文件却在src文件夹下的文件夹下:
在这里插入图片描述
在这里插入图片描述
所以,引入时,多加层级目录就好了。

在这里插入图片描述
在这里插入图片描述
ok,引入之后,报错问题消失。

最后,这个问题是编辑器的锅还是我的锅呢?这个错误真气死人了,谁能想到编辑器是这样呢,搞了一天才找到。

好在找到原因,也算是经验了。

注:因为是对于特定项目,所以这篇文章记录的解决办法只是解决头文件失效问题的众多解决办法之一。如果此种方法行不通,肯定还会有其它原因(其它很多博客也有所介绍)。


http://www.niftyadmin.cn/n/5433658.html

相关文章

C#实现约瑟夫环算法

目录 1.约瑟夫环定义 2.约瑟夫环算法实现需要注意的地方 3.通过一个例子来演示这个过程 4.三人的约瑟夫环示例 4.十二人的约瑟夫环示例 1.约瑟夫环定义 约瑟夫环即设有n个人坐成一个圈,从某个人开始报数,数到m的人出列,接着从出列的下一…

组合和聚合复用原则

继承用的好,代码可扩展性好,用不好,就会出现类爆炸,继承破坏了开闭原则,父类发生变化,子类也要改变。一般优先使用组合或者聚合原则 组合是整体与部分的关系, 并且部分不可以离开整体而单独存在。组合一般…

kotlin flow sample的用法

sample 方法是用于对数据流进行采样的操作,它会根据指定的时间间隔或者其它条件从数据流中抽取样本。 以下是三个使用 sample 方法的示例: 使用时间间隔进行采样: import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* impo…

研究生总结

Note:本博客更多是关于自己的感悟,没有翻阅文件详细查证,如果存在错过,也请提出指正。 1. 半监督回归 相比于半监督分类,半监督回归相对冷门。回归和分类之间有着难以逾越的天谴,预测精度。分类中的类别是可数的&…

【体验有奖】用 AI 画春天,函数计算搭建 Stable Diffusion WebUI

人工智能生成内容 AIGC(Artificial Intelligence Generated Content)是当下备受关注的概念之一,是继 PGC 和 UGC 之后的新型生产方式。AIGC 技术的核心思想是利用人工智能算法生成具有一定创意和质量的内容。例如,根据用户的描述或…

使用endnote插入引用文献导致word英文和数字变成符号的解决方案

使用endnote插入引用文献导致word英文和数字变成符号的解决方案 如图使用endnote插入引用文献导致word英文和数字变成符号字体Wingdings Wingdings 是一个符号字体系列,它将许多字母渲染成各式各样的符号,用途十分广泛。 解决方法: 直接通过更…

macOS系统中通过brew安装MongoDB

Macos 修改目录权限: sudo chmod -R 777 你的文件夹 本文使用homebrew进行安装简单,因为从官网下载安装包并手动安装需要移动安装包到合适的目录下并配置环境变量等一大堆操作后才能使用数据库(若没有安装过brew请自行百度进行安装brew&am…

【QT入门】VS2019+QT的开发环境配置

声明:该专栏为本人学习Qt知识点时候的笔记汇总,希望能给初学的朋友们一点帮助(加油!) 往期回顾: 【QT入门】什么是qt,发展历史,特征,应用,QtCreator-CSDN博客【QT入门】Windows平台下…