解决ubuntu系统下clion找不到include文件的问题

本文介绍在Ubuntu下使用Clion调试ROS程序的方法,尤其解决了动态参数导致的头文件找不到问题,通过在CMake设置中添加特定选项实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做关于ubuntu下的ros开发,这里我其实首推IDE是微软的VSCODE软件,跟在windows的差不多,而且很小,比clion运行时占用内存少多了。只不过我现在需要在TX2上做相关开发,发现TX2上vscode装不起来(如果有谁知道TX2上怎么装vs,欢迎评论区评论或者发我邮箱506168507@qq.com告诉我,谢啦),所以又只能用Clion了。

对于ubuntu系统下用clion对ROS系统进行调试,安装步骤大部分网上都有,简单方法就是在终端中加入我们要编译的ROS程序后在该终端下开启clion程序。然而当我的ROS节点需要用到动态参数的时候,由于ROS编译出来的动态参数头文件是在${workspace}/devel里面,因此clion会出现找不到头文件而编译出错的问题。后来在我查找各种资料后,发现方法是在cmake编译的地方加上一个设置。

在file>>settings>>Cmake中,在右边的CmakeOptions中加入一个选项,注意前面的-DCMAKE_BUILD_TYPE=Debug也腰重新写一遍,不然编译出来的程序无法调试。再加上-DCATKIN_DEVEL_PREFIX:PATH=&{your_ws_dir}/devel,这样子重新编译错误就消失了。

### 解决 Ubuntu 系统下安装 CLion 的常见问题 #### 1. 添加必要的 GPG 密钥 为了确保包管理系统的安全性并验证下载的软件包,有时需要添加特定的 GPG 密钥。对于某些依赖项而言,这一步骤至关重要。 ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 ``` 此命令用于获取指定密钥服务器上的公钥[^1]。 #### 2. 更新系统并安装编译工具链 在开始之前,建议先更新本地仓库索引,并安装一系列基础构建工具: ```bash sudo apt-get update sudo apt-get install gcc g++ cmake make ``` 这些指令会刷新可用软件列表并将所需的基础开发组件部署到环境中[^2]。 #### 3. 处理 Python 版本兼容性问题 当执行 `idf.py menuconfig` 命令时可能出现与 Python 相关错误提示;尽管最终不会影响程序正常运作,但可通过创建指向最新版本解释器的符号链接来规避此类警告信息: ```bash sudo ln -s /usr/bin/python3.8 /usr/bin/python ``` 该操作使得旧版脚本能识别当前系统中的新版本 Python 解释器[^3]。 #### 4. 中文输入支持调整 针对 Linux 平台默认集成的文字处理插件不支持中文录入的情况,可以通过编辑启动脚本来实现多语言文字的支持功能。特别是通过 Snap 渠道分发的应用,默认情况下其配置文件可能是只读状态,因此需适当更改访问权限以便于后续自定义设置: ```bash chmod u+w /path/to/clion.sh nano /path/to/clion.sh ``` 接着,在打开后的 Shell 脚本内加入如下几行代码片段以激活 IME 输入法框架接口调用能力[^4]: ```bash export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx ``` #### 5. 配置 CMake 报警抑制机制 为了避免不必要的开发者级别告警消息干扰正常使用体验,可以在项目根目录下的 CMakeLists.txt 文件里增加下面两段逻辑判断语句,从而达到静默模式的效果: ```cmake if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS) set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings") endif() include_directories(/usr/include/pcl-1.10/pcl) # 这里是你安装 pcl 的路径 ``` 上述措施能够有效地屏蔽掉部分无关紧要的日志输出,使日志更加简洁明了[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值