之前一直觉得不用IDE写程序看着好像我很能的样子. 其实就相当于工业时代我还钻木取火并且告诉别人你们用打火机根本不知道火被点燃的过程是怎样的. 因为这个技能并非人人都会,就可以拿出去到处臭屁

好了, 在用QT打开项目工程文件的CMakeList时, 发现打不开, QT报错是这样:

Cannot create file /opt/ros/indigo/share/catkin/cmake/toplevel.cmake.user: Permission denied

开始以为只是用户权限不够,傻乎乎去吧文件权限改成776, 还是同样报错.

解决的办法是 cd到你要打开的工程目录下,  ls -l 查看哪个文件与你的CMakeList是符号链接的, 我的:

CMakeLists.txt -> /opt/ros/indigo/share/catkin/cmake/toplevel.cmake

然后,你要做的是把链接文件替代你的CMakeList文件:

rm CMakeLists.txt
cp /opt/ros/indigo/share/catkin/cmake/toplevel.cmake CMakeLists.txt

就好了.

另外附给QT配置ROS环境:

cd /usr/share/application
sudo vim qtcreator.desktop

然后改

   Exec=bash -i -c qtcreator %F
Name=FXQtCreator //这个名字可以随意改个你喜欢的

好,保存退出就可以了.

看到最后,要说的是,要先配置QT的ROS环境,再去覆盖CMakeList文件,不然要重新再改一边:P

========================================分割线==========================================

找到方法,可以在qt5中输入汉字了

召唤链接:基于fcitx输入框架在Qt程序中无法输入汉字的办法

fcitx在QT输入汉字

因为文中有些路径我没找到,不知道是不是以前不成功的修改改过了,然后我做的有

cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
sudo chmod  libfcitxplatforminputcontextplugin.so
gedit ~/.profile

在这个文件末尾加:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

保存退出,注销重启,OK

http://www.lxway.com/466424446.htm

========================================分割线==========================================

在QT Creator开发ROS

一. 给QT安装ROS环境

找到你的环境变量,如果是源码安装,路径可能在~/.local/share/applications/

gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop

我是Ubuntu One安装的, 软件评论中有人说可以到http://qt-project.org上下载一个包,安装后把语言文件都复制到/usr/share/qtcreator/translations。

所以我的环境变量在

gedit /usr/share/qtcreator/applications/qtcreator.desktop

打开文件后,在Exec行的等号后加上bash -i -c,我的加上之后如下, 后面的会因为不同的安装路径而不一样

Exec=bash -i -c qtcreator %F

保存退出,这样可以通过快捷方式启动Qt Creator的同时加载ROS环境变量.

QT打开ROS工作空间时遇到的问题和解决方法的更多相关文章

  1. 创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装。

    问题:创建ROS 工作空间时出现:程序“catkin_init_workspace”尚未安装,程序“catkin_make”尚未安装. 解决方法: source /opt/ros/kinetic/se ...

  2. 架设传奇时打开DBC数据库出错或读取DBC失败解决方法

    架设传奇时打开DBC数据库出错或读取DBC失败解决方法 DBC右键-属性-高级-管理员身份运行 即可

  3. 使用WebLogic时控制台输出中文乱码解决方法

    使用WebLogic时控制台输出中文乱码解决方法 1.找到weblogic安装目录,当前项目配置的domain 2.找到bin下的setDomainEnv.cmd文件 3.打开文件,从文件最后搜索第一 ...

  4. Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法

    Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法 在用tomcat运行WEB项目,并且使用了StringUtils包的时候,会出现 jav ...

  5. linux下安装Oracle时交换空间不足的解决方法

    摘:linux下安装Oracle时交换空间不足的解决方法 linux上安装Oracle时交换空间不足的解决办法 增加交换空间有两种方法: 严格的说,在系统安装完后只有一种方法可以增加swap,那就是本 ...

  6. JDBC插入数据时中文变为问号的解决方法

    JDBC插入数据时中文变为问号的解决方法 制作人:全心全意 出现中文变问号的代码: String url = "jdbc:mysql://localhost:3306/test"; ...

  7. 通过EF操作Sqlite时遇到的问题及解决方法

    1.使用Guid作为字段类型时,能存,能查,但是作为查询条件时查询不到数据 解决方法:连接字符串加上;binaryguid=False

  8. ajax请求成功后打开新开窗口(window.open())被拦截的解决方法

    问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...

  9. 【原创】安装LoadRunner12.53 版本时出现Critical error的解决方法

    步骤: 1.在官网上下载LoadRunner12.53正版,只不过要注册,然后官网会给个序列号. 2.安装成功之后,快捷键已创建,打开Virtual User Generator时,提示如下错误: 此 ...

随机推荐

  1. pthread_attr_setdetachstate

    pthread_create函数可以指定新创建线程的属性. pthread_attr_setdetachstate() set  detach state attribute in thread at ...

  2. PHP反射获取类中的所有常量

    <?php// Yii 2// namespace yournamespace;// use Yii; /** * 缓存辅助类 */ class CacheHelper { /** * 缓存键 ...

  3. JavaScript挑战复杂报表——1总述

    今天用自己写的库完成了一个40列填报报表的前后台调试,所花费的时间超过预期很多.遇到的坑有:ajax回调函数写错导致循环调用,没有考虑到java的request.getParameter()方法读入数 ...

  4. bzoj2251 [2010Beijing Wc]外星联络

    因为n很小,所以对于串s的每一个后缀,都把其加入字典树中,并且经过一个字典树节点,该节点权值就+1. 输出时因为要字典序最小,所以字典树先走0分叉,再走1分叉,如果节点权值大于等于2就输出 代码 #i ...

  5. MyEclipse基础配置

    1.设置默认工作空间编码 window/preferences/general/workspace/Text file encoding 2.设置文件默认打开方式 xml建议设置 html建议设置 j ...

  6. 如何在page_load方法判断是服务器端控件引发的page_load方法

    动态获取单击的服务器端控件的id值 private string getPostBackControlName()    {        Control control=null;        s ...

  7. ScrollView和listview的冲突问题,关于宽度,和滑动

    只需要重新listview即可 package com.exmple.listscrow; import java.util.logging.LogManager; import android.co ...

  8. 监控web服务方法

    本地监控:端口  netstat -anltup | grep 80  nmap ip -p 80 telnet ip:80 lsof -i :80|wc -l 进程 ps -ef| grep ngi ...

  9. Linux C Programing - Terminal(1)

    #include <stdio.h> //getchar() putchar() printf() gets() puts() sprintf() #include <stdlib. ...

  10. python 学习笔记十 rabbitmq(进阶篇)

    RabbitMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消 ...