我在一棵树中工作,这棵树可以在任何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),因为如果我删除相应的include标志,它会抛出一个错误,告诉它找不到eigen或其他东西。
有问题的include语句是:
// snip
#include <Eigen/StdVector>
#include <cmath>
#include <iostream>
#include <fstream>
#include <tclap/CmdLine.h>
// snip想法?谢谢!
发布于 2011-09-22 04:55:48
您先指定了-Iinclude/tclap,然后再包含tclap/CmdLine.h,因此编译器会继续寻找include/tclap/tclap/CmdLine.h。
使用-Iinclude,或者包含不带路径的CmdLine.h。
发布于 2011-09-22 04:56:52
使用-Iinclude行吗?您可能不需要显式地添加include的子目录,因为您在#include语句的名称中引用了它们。
https://stackoverflow.com/questions/7506485
复制相似问题