使用cygwin编译C++不会搜索提供的包含路径
Compiling C++ with cygwin doesn't search provided include paths
我正在一个树中工作,它在任何Unix机器上都能很好地编译,但是Cygwin很难,我不确定从哪里开始。我的目录结构如下:
buildwin/
|-- main.cpp
|-- other project files
|-- include/
|-- tclap
|-- CmdLine.h
|-- other files (including CmdLine.cpp)
|-- eigen
|-- (appropriate files)
|-- rapidxml
|-- (appropriate files)
当我尝试编译它时,我从g++中得到以下错误:
$ g++ main.cpp -lglut32 -lglu32 -lopengl32 -Iinclude/eigen -Iinclude/rapidxml -Iinclude/tclap
main.cpp:6:27: fatal error: tclap/CmdLine.h: No such file or directory
compilation terminated.
我知道它正在寻找其他库(eigen
和rapidxml
),因为如果我删除各自的包含标志,它会抛出一个错误,说它找不到eigen
或你有什么。
这里的include语句是:
// snip
#include <Eigen/StdVector>
#include <cmath>
#include <iostream>
#include <fstream>
#include <tclap/CmdLine.h>
// snip
想法?谢谢!
您指定-Iinclude/tclap
,然后包含tclap/CmdLine.h
,因此编译器会寻找include/tclap/tclap/CmdLine.h
。
要么使用-Iinclude
,要么包含CmdLine.h
而不包含路径
使用-Iinclude
工作吗?您可能不需要显式地添加include
的子目录,因为您在#include
语句的名称中引用了它们。
相关文章:
- 如何使用cppcheck处理半相对包含路径
- 如何确定包含路径的来源?
- 生成文件缺少包含路径 尽管路径存在并已定义
- 更改包含路径
- 在 Android Studio 中添加 C/C++ 的包含路径
- 如何设置 CMake 来构建包含路径包含的代码,如 #include < libdir/lib>?
- 在Visual Studio Code(.json配置)中设置相对于工作区路径的c / c ++项目的包含路径
- 如何在 pybind11 项目中设置包含路径
- CLion 不索引任何外部包含路径
- VS代码无法识别包含路径
- 使用相对标头包含路径重新分析 ASTUnit 失败
- 如何在忍者上添加包含路径,并为VS 2019添加叮当
- 使用 glibc 2.7 包含路径编译失败
- 通过程序代码行设置C++包含路径
- Visual Studio添加真正"global"默认包含路径
- target_include_directories生成的包含路径
- C++'Undefined reference to'错误,尽管包含路径中的头文件中存在函数定义
- 如何从 qmake 中的包含路径中删除项目的根目录
- 是什么让 clang 在包含路径的子目录中看起来?
- 如果库的包含路径设置不符合预期,如何引发编译错误