zoukankan      html  css  js  c++  java
  • 笔记-linux下Qt5.3.2 静态编译

    这里主要讲linux下的编译,windows下面比较简单

    参考:http://qt-project.org/wiki/Building-Qt-5-from-Git

    依赖

    sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev

    编译选项

    configure -confirm-license -opensource -static -release -no-qml-debug -qt-freetype -qt-xcb -nomake tests -nomake examples -skip qtwebkit -prefix /usr/local/Qt-5.3.2-static

    1.这里的-qt-freetype必须加上,另外要检查configure后的fontconfig是不是yes,如果不是,中文空白

    如果fontconfig是no,执行 sudo apt-get install libfontconfig*,安装 libfontconfig1-dev等开发包,然后再configure

    2.这里的-qt-xcb看起来应该是编译qt内部的xcb库,有了这个,可以少安装很多libxcb的开发包

    qtcreator编译设置

    1.先通过Qt Versions 选择Qt-5.3.2-static目录下面的qmake.exe,然后qtcreator自动识别

    2.接着去构建套件中复制一份配置,qt版本选择qt-5.3.2-static

    3.然后就是打开.pro文件,添加上CONFIG += static

    命令行编译设置

    cd 工程目录,qmake生成makefile,修改makefile的cxxflag选项,加上  -static,然后直接make,感觉这样比qtcreator生成的要小,

    还且可以在当前目录生成可执行程序

     

    可能遇到的问题

    1.no module found QT: Script-private, 这个原因经过测试,发现只要单独进入QtScript工程目录单独编译一次,然后再退出,全部make一次就ok了

    2.中文空白,如上,是编译的时候没有选上-qt-freetype或者fontconfig开发包没安装

    3.unicode/uchar.h  这个是因为编译qwebkit导致的,原因不明,skip后就可以了

    ok,一切完毕!

  • 相关阅读:
    友链
    Vue打包后处理跨域
    es6 Promise
    express get和post数据
    Nodejs登陆注册应用
    bootstrap按钮
    vue-router
    vue--transition多个元素运动
    $ git push -u origin masterremote时出现错误: error: GH007: Your push would publish a private email address.
    vue.js监听
  • 原文地址:https://www.cnblogs.com/magicdmer/p/4437148.html
Copyright © 2011-2022 走看看