C++ C++;包括来自其他目录的不';行不通
是的,我知道这个网站上有大约100000000个这样的问题。我花了两个小时潜行,以便找出我做错了什么。这是我的项目目录树: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,但仍然不起作用。你们知道我做错了什么吗 我知道这将被大量
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。