让Cmake编译时指定include目录的头文件

Ajoke 2014-04-09 11:21:57
我想移植openCV2.4.4到开发板,按照网上所给的方法,配置好之后,使用make命令编译,编译过程中出现了这种情况:
In file included from /usr/include/math.h:409:0,
from /opt/opencv-2.4.4/modules/core/include/opencv2/core/types_c.h:94,
from /opt/opencv-2.4.4/modules/core/include/opencv2/core/core.hpp:49,
from /opt/opencv-2.4.4_forArm/modules/core/precomp.hpp:50:
/usr/include/bits/mathinline.h: In function 'void cv::randnScale_8u(const float*, uchar*, int, int, const float*, const float*, bool)':
/usr/include/bits/mathinline.h:675:3: error: unknown register name 'st' in 'asm'
/usr/include/bits/mathinline.h:675:3: error: unknown register name 'st' in 'asm'
/usr/include/bits/mathinline.h:675:3: error: unknown register name 'st' in 'asm'
/usr/include/bits/mathinline.h: In function 'void cv::randShuffle_(cv::Mat&, cv::RNG&, double) [with T = unsigned char]':
/usr/include/bits/mathinline.h:675:3: error: unknown register name 'st' in 'asm'
/usr/include/bits/mathinline.h: In function 'void cv::randShuffle_(cv::Mat&, cv:
......

而在/opt/arm-2010.09/arm-none-linux-gnueabi/libc/usr/include/bits目录和/usr/include/bits/目录之下都有mathinline.h 文件,按道理应该include的是/opt/arm-2010.09.../include/bits里的mathinline才对啊,为什么却是/usr/include/bits里的,开发板是arm处理器,PC机是intel,两者的头文件肯定不能共用了。
所以,想问问,在cmake 配置的时候怎么设置或加什么参数让它能包含指定目录的头文件。
...全文
17429 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
anklean 2016-12-14
  • 打赏
  • 举报
回复
cmake -DBOOST_INCLUDEDIR:PATH="/home/xx/work/repos/include" ../..
Fu_Lin_ 2016-03-23
  • 打赏
  • 举报
回复
楼主你的是怎么解决的,我也是这个问题,只要是把名字改成了Linux就会出现,改成其他的就会编译通过
wskar 2014-05-12
  • 打赏
  • 举报
回复
楼主,我也遇到了这个问题...请问你搞定了吗?我移植的也是2.4.4
Cbird-coder 2014-05-08
  • 打赏
  • 举报
回复
楼主问题解决了么?我编译2.4.6时候也碰到这问题了
zhxianbin 2014-04-10
  • 打赏
  • 举报
回复
妳是个好人 2014-04-10
  • 打赏
  • 举报
回复
应该是你的板子是用/opt/arm-2010.09.../include/bits编译 pc机是用/usr/include/bits编译,在arm上编译的时候前者的头文件内容要和后者一直 另外,没有指定目录的情况下cmake是不会去搜寻/opt/目录下的文件夹,看下是哪里写错了

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧