永发信息网

makefile中怎么设置头文件的路径???在线等

答案:1  悬赏:60  手机版
解决时间 2021-02-05 20:14
  • 提问者网友:箛茗
  • 2021-02-05 01:50
makefile中怎么设置头文件的路径???在线等
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-02-05 02:12
你源代码包含头文件的方式也要和你的CFLAGS的路径配合,举例:
1 源文件:#include makefile: -I/test/ROS/ros/fuerte/include/
2 源文件:#include makefile: -I/test/ROS/ros/fuerte/include/pcl

估计你源文件是1的情况,makefile又是2的情况,所一出问题了。追问好像不是,我的point_type.h 在 test/ROS/ros/fuerte/include/pcl-1.5/pcl中,我的cpp中是#include “pcl/pcl_type.h”.在makefile里面是cflags =-I/test/ROS/ros/fuerte/include/pcl-1.5/。这样执行还是报错,没有这个文件。我觉得是我的cflages写的不对。。。追答晕,你上面列出来的makefile跟你说的不一致啊!
cflags = -I /test/ROS/ros/fuerte/include/pcl-1.5/pcl
你又说“在makefile里面是cflags =-I/test/ROS/ros/fuerte/include/pcl-1.5/”

假设你后来改过了,再确认亮点:
1)你的CFLAGS里面-I /test/ROS/ros/fuerte/include/pcl-1.5/pcl中间,-I和/test...是不是有空格?
2) 在源代码里面,直接用绝对路径包含头文件看有没有问题 #include 追问我第一次是路径配合不对,按照你的说法改过来了,还是报错,我现在是直接把pcl这个文件夹和cpp文件放在一个目录下了,这样可以运行。绝对路径还没有去试。。。还有个问题,我的cpp文件中包含的.h头文件中又引用了.h头文件,这样在makefile里面应该怎样写呀?追答-I可以多次使用的,需要那里的头文件就包含那里的路径。追问如果一个cpp依赖于不同目录下的.h时,可以同-I列出来。我的意思是如果这个头文件中又用到了很多非标准库头文件时,怎么在makefile里面写。比如说pcl/pcl_type.h里面用到pcl_type.h,而pcl_type.h在xxx/xxx/xxx/下面,那么在cflags里面写入-Ixxx/xxx/xxx/就可以了吗?我这样试过不行呀。追答不行应该是其它原因,原理上是这样的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯