GCC编译器找不到hpp文件
GCC compiler cannot find hpp files
我正在尝试安装此处列出的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
,它设置编译器搜索#include
d文件的路径。
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
指定要包含的路径。
这是令人困惑的,因为在项目管理和分发方面,我们认为"库"包括二进制文件和头文件,以及文档和各种好东西。但在技术层面上,这并不是"图书馆"的意思。
相关文章:
- 如何将class.cpp和class.hpp编译为一个.o文件
- g++ -I 和 -L 命令来查找不起作用的 .hpp 文件
- Gnuplot_i.hpp C++接口绘制局部变量而不是文件
- 致命错误:找不到'boost/uuid/uuid.hpp'文件
- 造成致命错误:boost/fusion/iterator/equal_to.hpp 没有这样的文件或目录
- 无法使包含.hpp文件与其中的2个文件一起使用
- 在指向现有内存地址的 hpp 文件中声明成员函数的最佳方法
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 编译器正在查找.当"实施"完全在"我的"中时的CPP文件.HPP文件
- 我的项目中某些仅标头文件不能包含使用 CMake 和 Vscode 的"SFML/Graphics.hpp"
- 如何正确使用hpp文件和cpp文件中的嵌套类
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- 从一个cpp中给出所使用的头文件和hpp文件的列表
- 如何在 CMakeList 中包含 h/hpp 头文件.txt而不是 cpp 或其他 hpp 文件
- CMake add_executable() 使用.cpp文件或 .hpp 文件
- <opencv2/opencv.hpp>, <opencv2/imgproc.hpp>, <opencv2/highgui.hpp> 没有这样的文件或目录
- 添加 boost 文件系统.hpp 无法编译
- 我可以使用 cmake/make 编译我使用的所有且仅编译 cpp/hpp 文件吗?
- 将函数及其实现移动到与主文件不同的文件(.hpp 和 .cpp)时,性能会受到很大影响
- 如何使用g++获取C++头文件(.hpp)的程序集代码