修改"优先事项"在Makefile中包含目录之间

时间:2016-11-28 10:24:13

标签: c++ opencv makefile cygwin embedded-linux

为简单起见,我想在我的Windows机器上进行编程时,在嵌入式ElinOS系统中使用OpenCV库。

为此,我在网站上下载了Linux的OpenCV源代码,并尝试使用cygwin和cmake编译它来生成Makefile。但是,我在" make"期间发生错误。步骤,即/usr/include/wchar.h:41:25: fatal error : bits/wchar.h : No such file or directory

我理解这个问题,基本上cygwin应该使用/opt/elinos-6.0/cdk/x86/x86_64/eglibc-2.17/x86_64-unkown-linux-gnu/include代替/usr/include,但我基本上不知道如何改变它。

到目前为止,我将这两行添加到CMakeLists.txt

set(CMAKE_INCLUDE_DIRECTORIES_BEFORE ON)
include_directories(BEFORE C:/sysgo/opt/elinos-6.0/cdk/x86/x86_64/eglibc-2.17/x86_64-unkown-linux-gnu/include/)

这行到构建的Makefile:

INC = -I/cygdrive/c/sysgo/opt/elinos-6.0/cdk/x86/x86_64/eglibc-2.17/x86_64-unknown-linux-gnu/include/

但它没有用,我仍然有同样的错误。欢迎任何帮助,如果有一个有用的魔术命令行的解释,我会很高兴。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

一种方法可能是完全清除标准包含路径:

首先删除-nostdinc的标准路径,然后将自己的目录放入其中。

你可能不想放松所有这些,这里有一种方法可以查看标准包含路径中使用的内容:echo "//" | gcc -xc++ -E -v -(也适用于clang)

对于gcc来说,这是一篇很好的文章:

http://commandlinefanatic.com/cgi-bin/showarticle.cgi?article=art026

在这里你可以阅读它也适用于clang:

http://clang.llvm.org/docs/CommandGuide/clang.html