我是C++和Linux的新手。有一个代码我正在玩,它要求我安装HElib(同态加密库和其他库-GMP,NTL)我做了。我想编译HElib中有头文件(main.cpp)的代码(FHE.h)。我的问题是如何将FHE.h(在HElib文件夹中)和main.cpp(在另一个文件夹中)链接在一起以便编译它们。我试过一些命令

g++ -I/Home/HElib/src/FHE.h main.cpp -o main

错误消息
main.cpp:1:17: fatal error: FHE.h: No such file or directory
compilation terminated.

另一个命令行
g++ -I/Home/HElib/Src/FHE.h -I/Home/SimpleFHESum-master/SimpleFHESum-master/main.cpp -o main]

错误消息
g++: fatal error: no input files
compilation terminated.

怎么了,我该怎么解决?

最佳答案

-I标志将以下目录添加到编译器的include路径。这使您能够编写例如#include "FHE.h"的文件,即使该文件与您试图编译的源文件不在同一文件夹中。
你有没有试过把“FHE.h”部分从你的-I指令中删除?
g++ -I/Home/HElib/src ...

10-07 21:08