我有一个问题与VSC.我开始使用它最近,以及我有一个问题与它.我的项目有多个文件夹,这些文件夹只包含.h和.c文件,但有时我需要从一个文件夹中的.c文件将读取函数从.h文件从另一个文件夹,以及当我包括.h文件,编译器找不到它.示例below:
唯一有效的方法是包含该文件的完整路径:#include "C:/Users/Name/Desktop/Project/Project_dir/components/configurations/I2C_master.h"
这是正常的VSC或我不知道如何使用链接器?
2条答案
按热度按时间sz81bmfz1#
我认为你这里的问题是你写的文件路径就好像这两个文件位于同一个目录中。
如果你从另一个目录引用一个文件,你应该像这样写相对路径:
第一个月
yh2wf1be2#
我也遇到了同样的问题。我把所有的头文件都放在一个名为“include”的文件夹中,这样可以把源代码和实现代码的接口分开。为了在makefile中编译,我添加了一个标志
-Iinclude
,它可以自动搜索头文件到该文件夹中。我包含头的方式和你的一样,
#include "header.h"
。我得到了波浪线错误,这很烦人,即使代码编译工作得很好,没有问题。因此,这不应该是你的代码的问题,而是VS代码不承认它。我能想到的唯一解决方案是禁用这种错误的波浪线,我猜这也不理想。无论哪种方式,它都比每次需要包含头部时放置特定路径更好。