Linux Qt导入project

网上流传的大部分查看project源码的教程,要么基于windows下的cmake工具生成Visual Studio工程文件,这种方式费时,而且在ubuntu系统下不可行;
要么使用VS下的“查找与替换”功能搜索函数名来查找,这种方式虽然能找到函数实现,但不能跳转;
再要么使用最笨的方法, 就是先找到要寻找函数名在哪个moduel下,然后手动到该module下的src目录下凭感觉寻找,基本也能找到


一、导入cmake工程

只要是能通过cmakelist.txt编译的工程,都可以借助linux下Qt可直接导入该工程

1.1 对于纯C++工程

比如opencv,opencv安装的时候是通过cmake、make安装的,当然属于规模比较大的cmake工程,故可以使用qt直接打开,其他支持cmakelist.txt编译器类似。

把opencv源码git clone下来,使用qt导入opencv一级目录下的cmakelist.txt文件即可,大概20秒即可cmake完成,最重要的是支持全局查找与跳转,如图,非常棒!

1.2 对于ros工程

ros的工程里需要加载一堆ros的packages,这些packages通过find_package()来寻找,所以用户需要告诉qt这些packages在哪,具体说就是,就是告诉cmake这些packages对应的*config.cmake文件在哪里,即需要设置CMAKE_PREFIX_PATH,由于我们可能用到很多的packages,不可能一个个的手动添加,而这些工作ros已经帮我们做好了,只需要执行:

$ source ./devel/setup.bash

这时候执行echo $CMAKE_PREFIX_PATH,将会看到添加了哪些路径,这些路径下的packages都可以被找到,然后在当前终端运行qtcreator即可

如果觉得每次进行source太多麻烦,也可以设置kit,每次导入的时候选中设置的kit即可,可参考:How do i open ros package on qtcreator


二、导入普通工程

在project的根目录下执行

$ qmake -project 

可以看到生成一个文件project_name.pro的文件,打开qt导入这个.pro文件,导入时出现No valid Kits found错误,解决办法:QtCreator: No valid kits found

如果有些头文件无法go to define,则需要设置.pro文件中的INCLUDEPATH,比如:

INCLUDEPATH += /opt/ros/melodic/include \
               ./cartographer/ \
               ./cartographer_ros/cartographer_ros \
               /usr/local/include/eigen3/ \
               ../install_isolated/include \        #需要放在最后,不然本project内的头文件也会跳转到install_isolated中的
               .

<完>
@LeatherWang


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值