【问题标题】:Header files not found even though they are in the right directory?即使在正确的目录中也找不到头文件?
【发布时间】:2017-02-24 17:19:56
【问题描述】:

我对使用 linux 进行编程还很陌生,所以请原谅我在问题中可能犯的任何愚蠢错误,但基本上我正在尝试使用终端 (C++) 和我的 .txt 文件中的代码进行编译,但是我不断得到无法找到我的头文件的致命错误?当我尝试输入时

g++ -o test main.cpp header.h

我在终端中收到“header.h:没有这样的文件或目录”的错误消息。我确保 cpp 和头文件都在同一个目录中,但没有运气。我也用过

#include <"header.h">

在我的 main.cpp 和头文件中尝试不同的修复。我已经研究并查看了不同的答案,但也没有修复。有什么建议吗?

【问题讨论】:

  • 通常不应该编译头文件。您还应该尽量不要将您的程序命名为 test,因为它很容易与标准的 test command 混淆。

标签: c++ linux terminal header-files


【解决方案1】:
#include <"header.h">

使用任一

#include <header.h>

将首先查找这些头文件的标准包含目录

#include "header.h"

将查找使用预处理器选项指定的所有包含目录路径

但不要混淆这些。


另外你不需要在编译器命令行中指定头文件

 g++ -o test main.cpp header.h
                    # ^^^^^^^^ omit this

这就是代码中的 #include 语句的用途。

【讨论】:

  • 将后者用于您自己的标头,与您的代码位于同一目录附近。
猜你喜欢
  • 2022-10-25
  • 2021-12-26
  • 2016-02-09
  • 2011-11-20
  • 2014-05-16
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多