zoukankan      html  css  js  c++  java
  • QT打开ROS工作空间时遇到的问题和解决方法

    之前一直觉得不用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

    然后改

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

    好,保存退出就可以了.

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

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

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

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

    fcitx在QT输入汉字

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

    cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
    sudo chmod 777 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环境变量.

  • 相关阅读:
    ARM标准汇编与GNU汇编
    使用友元,编译出错fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) 的解决
    C++中值传递,引用传递,指针传递
    C++命名空间的用法
    关于初始化C++类成员
    vivi的配置与编译
    C++ 容器
    vivi分区问题,及移植时需要修改的地方(转)
    基于S3C2410的VIVI移植
    拷贝构造函数什么时候调用?
  • 原文地址:https://www.cnblogs.com/feixiao5566/p/5065950.html
Copyright © 2011-2022 走看看