SuperMoran丶 2016-09-02 02:49 采纳率: 0%
浏览 1847
已结题

openframeworks在Linux下的QT creator环境怎么搭建

用的是Qt 5.6.1-1 for Linux 64-bit,在Ubuntu怎么去搭建openframeworks的环境,没有第三方软件,全部都是从官网里下载的,求大神告知,急!!!

  • 写回答

1条回答 默认 最新

  • 丶张天师 2016-09-02 08:55
    关注

    1 图形化安装
    1.1 安装包的下载与获取](http://www.qt.io/download-open-source/#section-7 "")
    1.2 安装包的安装
    下载完后,可以看到是后缀名为.run的文件,执行如下命令:
    chmod +x   qt-opensource-linux-x64-5.4.1.run
    为安装包赋予可执行权限。(说明:qt-opensource-linux-x64-5.4.1.run为我下载的qt安装包名,当前最新版本为5.4.1)
    然后执行如下命令:
    ./qt-opensource-linux-x64-5.4.1.run
    此时会弹出图形化的安装界面,之后的操作就跟windows下安装软件差不多了。需要说明的是:qt-opensource-linux-x64-5.4.1.run包中包含了qtcreator可视化的开发工具,在安装完后,找到安装目录下的Tools/QtCreator/bin目录下发现有qtcreator可执行文件,该文件就是Qt可视化的开发工具。
    1.3 环境变量的配置
    执行
       vi /etc/profile
    在该文件中加入如下几行:
    图片说明
     其中第1行为在1.2步骤中安装QT包时安装文件存放的目录,大家可以根据自己的安装路径来更改设置。
    其中第2行将qtcreator可视化的开发工具存放的绝对路径加入到环境变量PATH中了。这样以后就可以在shell中直接执行qtcreator了。
    其中第3行为安装QT包时安装文件中的lib库存放的目录,大家可以根据自己的安装路径来更改设置。执行如下命令
      .  /etc/profile
    注意: . 和 /etc/profile 有空格
    或者:
    source /etc/profile
    或者
    重启linux,以使上述配置生效
    1.4 qtcreator配置
    如果上述1.3步骤配置完后,在shell终端执行如下命令:
    qtcreator
    应该能弹出如下qtcreator可视化的开发界面。
    图片说明
     如果没能弹出上述界面,请检查1.3步骤中环境变量是否设置正确。
    在上述界面中,选择:“Tools->Options->Build & Run”,在弹出的界面中,看看qtcreator是否自动为你设置好了qmake,如果没有,请找到QT 包中sdk中的qmake的路径(一般该文件在本文1.2步骤提到的安装文件存放目录下的Qt5.4.1/5.4/gcc/bin目录下)将其加入。如下:
    图片说明
    现在用qtcreator向导建立一个C++工程,如果弹出如下窗体证明安装成功
    图片说明
     1.5 注意事项
    请确保qt的sdk和qtcreator版本的一致性,否则会出现很多诡异,难缠的问题。我当时因为这两个版本的不一致导致在qtcreator向导生成的QT工程中,在main函数的第一句代码QApplication a(argc, argv)就发生了如下的错误:
    Signal received
    The inferior stopped because it received a signal from the Operating System.
    Signal name : SIGSEGV
    Signal meaning : Segmentation fault.
    当时找了好久都没找出来。查看qt的sdk的版本很容易,一般从其包的命名就可以看得出来,查看qtcreator版本,可以在qtcreator主界面的“help -> About Qt Creator”菜单弹出的对话框中可以看出,如下图所示:
    图片说明
     可以看到版本一致
    必须牢记qt的sdk版本是适用于当前你手头的qtcreator的,否则会出现很多诡异,难缠的问题。
    2 源代码的安装
    ftp://ftp.qt.nokia.com/qt/source链接下载源码。网上很多人说用的是qt-everywhere-opensource-src-4.8.1.tar.gz
    但我用该源码包在执行make步骤时,碰到了很多难以搞定的错误就放弃了。之后我用的是qt-x11-opensource-src-4.5.3.tar.gz源码包。虽然这个包版本已经很老了,但就当练习装着玩下吧,期间也碰到了很多问题。
    以下步骤都是以 qt-x11-opensource-src-4.5.3.tar.gz源码包来说明的
    2.1 生成makefile文件
    执行 tar -zxvf  qt-x11-opensource-src-4.5.3.tar.gz以解压源码包
    cd到qt-x11-opensource-src-4.5.3目录,执行如下命令:
    ./configure
    以生成makefile文件,这个过程约10分多钟。
    之后执行make以编译源码,这个过程中会弹出如下几个错误,现在罗列出来,供参考、排查:
    图片说明
     1 error: 'prepareComparison' was not declared in this scope, and no declarations were found by.....如上图所示。
    解决方法:
    找到qt-x11-opensource-src-4.5.3/src/xmlpatterns目录下的Makefile文件,在该文件的CXXFLAGS 后面加入:
    -fpermissive
    图片说明
     
    2 error :'adoptref' was not declared in this scope, and no declarations were found by.....如上图所示。
    解决方法:找到qt-x11-opensource-src-4.5.3/src/3rdparty/webkit/WebCore/JavaScriptCore/wtf/RefPtr.h在文件头部加入如下代码:
    #include "PassRefPtr.h"
    图片说明
    3 error :'erase' was not declared in this scope, and no declarations were found by....如上图所示。
    解决方法:找到 qt-x11-opensource-src-4.5.3/src/corelib/tools/qmap.h文件的996行的24列,将erase改为this->erase
    图片说明
    4:error :'getCachedDOMConstructor' was not declared in this scope, and no declarations were found by.....如上图所示。

    解决方法:
    找到 qt-x11-opensource-src-4.5.3/src/xmlpatterns目录下的Makefile文件,在该文件的CXXFLAGS 后面加入: -fpermissive
    图片说明
    5 'insert' was not declared in this scope, and no declarations were found by.....如上图所示。
    解决方法:找到 qt-x11-opensource-src-4.5.3/tools/porting/src/codemodel.h文件的99行的50列,将 insert 改为this->insert
    个人建议将上述5个错误全部排除后再make,这样可以节省make的时间,整个make下来估计1小时左右,之后执行
    make install
    以安装
    2.2 安装qtcreator
    ftp://ftp.qt.nokia.com/链接下载qtcreator下载下来后是后缀名为.bin的文件,执行
    chmod +x qt-creator-linux-x86-opensource-2.5.2.bin
    之后执行 ./qt-creator-linux-x86-opensource-2.5.2.bin就可以安装qtcreator了
    2.3 环境变量的配置
    同图形化安装步骤1.3,只不过QTDIR等请根据步骤1安装的qt的sdk路径等作出相应更改,这里不再详述。
    2.4 qtcreator配置
    同图形化安装的步骤1.4,这里不再详述。
    2.5 注意事项 
    请确保qt的sdk和qtcreator版本的一致性,否则会出现很多诡异,难缠的问题。这里讲的用源码安装的QT的sdk和qtcreator因为这两个版本的不一致导致在qtcreator向导生成的QT工程中,在main函数的第一句代码QApplication a(argc, argv)就发生了如下的错误:
    Signal received
    The inferior stopped because it received a signal from the Operating System.
    Signal name : SIGSEGV
    Signal meaning : Segmentation fault.
    当时找这个问题找了好久,必须牢记qt的sdk版本是适用于当前你手头的qtcreator的,否则会出现很多诡异,难缠的问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码