编译程序时出现错误消息

Posted

技术标签:

【中文标题】编译程序时出现错误消息【英文标题】:Error message while compiling a program 【发布时间】:2017-11-23 11:39:10 【问题描述】:

我是 C++ 和 Linux 的新手。我正在使用的这段代码需要我安装我所做的 HElib(同态加密库和其他库 - GMP、NTL)。我想在 HElib 中编译具有头文件 (FHE.h) 的代码 (main.cpp)。我的问题是如何将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.

出了什么问题,我该如何解决?

【问题讨论】:

你应该检查 g++ 的文档,g++ help,你应该用你的输入文件编译g++ hello.cpp -o hello 在the manual中读取3.15 Options for Directory Search 【参考方案1】:

-I 标志将以下目录添加到编译器的包含路径。这使您可以编写例如#include "FHE.h" 即使该文件与您尝试编译的源文件不在同一个文件夹中。

您是否尝试过从 -I 指令中删除“FHE.h”部分?

g++ -I/Home/HElib/src ...

【讨论】:

以上是关于编译程序时出现错误消息的主要内容,如果未能解决你的问题,请参考以下文章

错误 LNK2019:使用类编译程序时出现无法解析的外部符号错误消息

打开项目时出现“无法创建 C# 2017 编译器”错误消息

安装新的 Rails 应用程序时出现错误消息(安装 byebug 时出错)

运行 Qt5 应用程序时出现 Qt 错误消息

exe C时出现分段错误错误

我运行程序时出现“分段错误(核心转储)”