GCC编译器找不到hpp文件

时间:2015-07-08 23:08:24

标签: c++ gcc

我正在尝试安装此处列出的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目录。

2 个答案:

答案 0 :(得分:5)

-L设置链接器搜索要链接的库的路径。您正在寻找的选项是-I,它设置编译器搜索#include d个文件的路径。

答案 1 :(得分:2)

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指定包含的路径。

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