Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;包括来自其他目录的不';行不通_C++_Gcc_Include_G++ - Fatal编程技术网

C++ C++;包括来自其他目录的不';行不通

C++ C++;包括来自其他目录的不';行不通,c++,gcc,include,g++,C++,Gcc,Include,G++,是的,我知道这个网站上有大约100000000个这样的问题。我花了两个小时潜行,以便找出我做错了什么。这是我的项目目录树: main.cpp以以下内容开头: #include <iostream> #include "XD.hpp" #包括 #包括“XD.hpp” (lib/XD.hpp或也不起作用) 我尝试了许多其他的组合,我甚至做了——I/home/frynio/Desktop/projects/sdizo1/lib,但仍然不起作用。你们知道我做错了什么吗 我知道这将被大量

是的,我知道这个网站上有大约100000000个这样的问题。我花了两个小时潜行,以便找出我做错了什么。这是我的项目目录树:

main.cpp
以以下内容开头:

#include <iostream>
#include "XD.hpp"
#包括
#包括“XD.hpp”
lib/XD.hpp
也不起作用)

我尝试了许多其他的组合,我甚至做了
——I/home/frynio/Desktop/projects/sdizo1/lib
,但仍然不起作用。你们知道我做错了什么吗


我知道这将被大量否决,但我宁愿花时间在我的项目上,而不是试图弄明白这件事。

它应该是这样的

#include "../lib/XD.hpp"

应该是这样的

#include "../lib/XD.hpp"

那么
-I./lib
呢?有时候这样的事情也会发生在复制粘贴时,并且意外地包含一些奇怪的不可见字符。再次尝试键入#include“XD.hpp”行。尝试使用-v标志运行gcc。当
/home/frynio/Desktop/projects/sdizo1
是您的工作目录时,
-Isdizo1/lib
使编译器在
/home/frynio/Desktop/projects/sdizo1/lib
中查找标题。大多数shell将
/lib
中的单点扩展为当前工作目录(这将与您示例中的Makefile的位置有关。)那么
-I./lib
呢?有时在复制粘贴时也会发生类似的情况,并意外地包含一些奇怪的不可见字符。请尝试键入#include“XD.hpp”再次行。尝试使用-v标志运行gcc。它应该告诉您它在哪里查找头。当
/home/frynio/Desktop/projects/sdizo1
是您的工作目录时,
-Isdizo1/lib
使编译器在
/home/frynio/Desktop/projects/sdizo1/lib
中查找。大多数shell都会扩展
/lib
中的单点当前工作目录(与示例中的Makefile位置相对)。这只是使用相对路径,对吗?我的意思是
让我进入上一个目录?我认为P0W提供了更好的解决方案:使用
-I./lib
。如果include文件移动到其他地方,那么
XD.hpp
的所有include都必须更改。使用
-I
选项,只需更改makefile。这就是u使用相对路径,对吗?我的意思是
使我进入上一个目录?我认为P0W提供了更好的解决方案:使用
-I./lib
。如果include文件移动到其他地方,则必须更改
XD.hpp
的所有include。使用
-I
选项,只需更改makefile。