【发布时间】:2014-11-06 12:14:46
【问题描述】:
G++ 如何使用 .cpp 编译位于不同目录中的 .h
例如,我的文件夹是“header”和“src”,在 header 文件夹中有我的 .h ,src 有我的所有 .cpp 也有我的 main.cpp 。
【问题讨论】:
-
命令行中g++的选项
-I。
标签: c++ linux compilation makefile g++
G++ 如何使用 .cpp 编译位于不同目录中的 .h
例如,我的文件夹是“header”和“src”,在 header 文件夹中有我的 .h ,src 有我的所有 .cpp 也有我的 main.cpp 。
【问题讨论】:
-I。
标签: c++ linux compilation makefile g++
例如:
g++ -I header src/main.cpp src/other.cpp
现在您的 .cpp 文件可以执行以下操作:
#include <blah.h>
他们会找到header/blah.h。
【讨论】:
首先.h 永远不会被编译,只有源文件被编译。您可以在源文件中包含该标头的相对路径。例如:_
sys.cpp
#include "../header/sys.h"
已编辑:-
@Lightness 在轨道上比赛:-
我小时候学到的是,当我们编译一个程序时,第一个预处理器就会出现,它将 .h 文件扩展为包含在源文件中的任何位置。然后将生成的源文件提供给编译器,然后继续进行进一步处理。所以编译器甚至不知道 .h 文件是什么。如果我忘记/误解了什么,请纠正我
【讨论】:
#include 指令一起使用的任何文件)。也就是说,如果有指示,编译器不会过多关注文件扩展名,而处理器几乎允许任何事情。