cygwin:找不到头文件
以下问题:Cygwin或Visual Studio出错。cygwin:找不到头文件
CGAL/Splitters.h: No such file or directory
每个标题都会出现此错误!头是由代码实现
#include <CGAL/Splitters.h>
错误消失,如果我改变了代码,这样我写全路径:
#include <c:/path1/path2/CGAL/Splitters.h>
但是,这是没有办法满足我,因为我将不得不改变数百个这样的代码分数。 我认为这应该是Visual Studio或Cygwin的问题。在cygwin中我写了这个命令:
$ g++ -std=c++11 example.cpp -o example
这个错误的原因是什么?我该如何解决它? 请给予容易理解的说明,因为我是C++的初学者。
编译器不知道去哪里找,除非你告诉它, 因为头文件未在任何编译器的默认 搜索目录下的位于头文件通过#include <CGAL/Splitters.h>
提到的头文件 。
你告诉编译器通过传递一个-I
选项来看看:
$ g++ -I/path/to/cgal/headers -std=c++11 example.cpp -o example
哪里是头文件将是:
/path/to/cgal/headers/CGAL/Splitters.h
延伸阅读:An Introduction to GCC - for the GNU compilers gcc and g++
后来
因此,对于每个头文件,我必须写-I选项?当然
本身-I/path/to/cgal/headers/
号会告诉编译器 在哪里可以找到在你的程序中使用每 CGAL头文件。
因此,对于每个头文件,我必须写-I选项?这是很多工作!没有更简单的方法吗? –
@DanielBernoulli:不,不是每个头文件。也许对每个图书馆来说。更简单的方法是将它们正确安装到系统的默认包含路径中。阅读这个“CGAL”的文档。 –
您可以检查包括在Visual Studio中路径:
工具>选项>项目和解决方案> VC++目录>包含文件
所以,检查缺省头文件路径。
我希望这可以帮助你。
什么是您的visual studio版本? –
Visual Studio 2017社区 –