GCC编译器找不到hpp文件

GCC compiler cannot find hpp files

本文关键字:文件 hpp 找不到 编译器 GCC      更新时间:2023-10-16

我正在尝试安装此处列出的hep-mc库:https://github.com/cschwan/hep-mc用于使用此处文档中列出的说明进行计算:https://github.com/cschwan/hep-mc#installation。为了编译其中一个示例文件,我在终端中键入了以下内容:

g++ -L/usr/local/hep-mc/include vegas_mpi_ex.cpp -o vegas_mpi

但我收到这些错误消息:

mpi_vegas_ex.cpp:1:22: error: hep/mc.hpp: No such file or directory
mpi_vegas_ex.cpp:2:26: error: hep/mc-mpi.hpp: No such file or directory
mpi_vegas_ex.cpp:8:17: error: mpi.h: No such file or directory

在我的代码的开头,声明如下:

#include "hep/mc.hpp"
#include "hep/mc-mpi.hpp"
#include <mpi.h>

教程指出,我应该将编译器指向包含所有.hpp文件的"include"文件夹的位置,我已经这样做了。你们知道我做错了什么吗?

还应该注意的是,即使我已经加载了openmpi模块,编译器也找不到mpi.h目录。

-L设置链接器搜索要链接的库的路径。您要查找的选项是-I,它设置编译器搜索#included文件的路径。

g++ -L/usr/local/hep-mc/include vegas_mpi_ex.cpp -o vegas_mpi

哎呀!

g++ -I/usr/local/hep-mc/include vegas_mpi_ex.cpp -o vegas_mpi

-L指定库文件的路径;-I指定要包含的路径。

这是令人困惑的,因为在项目管理和分发方面,我们认为"库"包括二进制文件和头文件,以及文档和各种好东西。但在技术层面上,这并不是"图书馆"的意思。