VS编译Qt源码

    Qt常用的编译方式有两种,一种是使用mingw编译器,另外一种是使用vs编译器进行编译,本文主要介绍使用vs编译器进行编译。

1、编译选项

    以下编译选项为常用编译选项,可添加在编译命令中,都是可选:

    1)-prefix <dir> :指定安装目录默认在;
    2)-hostprefix [dir] :指定可扩展的工具库安装路径,默认当前目录;
    3) -prefix-install :指定QT的本地安装;
    4)-bindir <dir> :指定可执行文件路径 <dir>(默认 PREFIX/bin下);
    5)-libdir <dir>  指定库文件路径 <dir>(默认 PREFIX/lib);
    6)-docdir <dir> : 指定文档路径 <dir>(默认 PREFIX/doc);
    7)-headerdir <dir> : 指定头文件路径 <dir>(默认 PREFIX/include);
    8)-plugindir <dir> : 指定插件路径 <dir> (默认 PREFIX/plugins);
    9)-datadir <dir> : 指定QT要使用到的一些数据文件所在路径 <dir> (默认 PREFIX);
    10)-translationdir <dir> :指定QT程序的翻译文件路径 <dir>(默认 PREFIX/translations);
    11)-sysconfdir <dir> :指定QT的设置文件路径 <dir>(默认 PREFIX/etc/settings);
    12)-examplesdir <dir> : 指定实例文件, <dir>(默认 PREFIX/examples)
    13)-demosdir <dir> : 指定demos的安装路径 <dir> (默认 PREFIX/demos);
    14)-buildkey <key> : 通过指定的key生成QT库和插件;
    15)-release :此选项在编译过程QT会对程序进行优化,在发布软件的时候应该用此选项,是默认选项;
    16)-debug :加上此选项编译程序QT不会做出优化,往往在开发过程使用此选项;
    17)-debug-and-release : 编译两个版本
    18)-developer-build  编译Qt的开发商和连接选项(包括自动测试出口的Qt);
    19)-opensource 以开源版本发布程序;
    20)-commercial 以商业版本发布程序;
    21)-shared : 创建和使用共享Qt库;
    22)-static : 创建和使用静态的Qt库;
    23)-no-fast : 使用通常的Makefile来编译,是默认选项;
    24)-fast : 快速编译,除了封装必要的库,部分步骤省略或者用快速的方法处理
    25)-no-largefile : 禁用大文件支持

    26)-largefile :支持访问大于4GB的文件;
    27)-no-exceptions : 禁用编译器本身对异常的处理
    28)-exceptions : 启用编译器本身对异常的处理

    29)-no-accessibility 、-accessibility :禁用/启用无障碍支持;
    30)-no-stl、-stl :禁用/启用STL支持;
    31)-no-sql-<driver> : 禁用SQL;
    32)-qt-sql-<driver> : 根据需求启用SQL插件(默认全部关闭);
    33)-plugin-sql-<driver> :禁用/启用/启用插件 对SQL的支持;
    34)-system-sqlite : 启用支持sqlite也可用-qt-sqlite;
    35)-no-qt3support 、-qt3support :禁用/启用qt3支持模块;
    36)-no-xmlpatterns 、-xmlpatterns : 禁用/启用xmlpatterns模块;
    37)-no-phonon 、-phonon : 禁用/启用Phonon模块(可以理解为声音控制模块);
    38)-no-phonon-backend、-phonon-backend:禁用/启用phonon-backend模块;
    39)-no-svg、-svg : 禁用/启用svg模块;
    40)-no-webkit、-webkit : 禁用/启用webkit模块(访问网络模块);
    41)-no-scripttools 、-scripttools : 禁用/启用scripttools模块;
    42)-platform target : x86平台指定模块 (qws/linux-x86-g++);
    43)-qtnamespace <name> 指定所有库代码路径;
    44)-qtlibinfix <infix> :重命名所有.so库文件到指定路径;
    45)-qt-zlib :zlib依赖包;

    46)-no-gif 、-qt-gif :gif图片支持包;
    47)-no-libtiff 、-qt-libtiff :tiff支持插件;
    48)-no-libpng 、-qt-libpng :png图片支持插件;
    49)-no-libmng 、-qt-libmng : mng支持插件;
    50)-no-libjpeg 、-qt-libjpeg :jpeg图片支持插件;

    51)-no-openssl、-openssl :openssl支持插件;

    52)-make <part>、-nomake <part> :选择是否编译某些无关紧要的子模块;
    53)-continue :忽略错误的编译;
    54)-verbose, -v :显示每个步骤的详细信息;
    55)-silent :安静的编译省略信息回显;
    56)-no-optimized-qmake、-optimized-qmake :禁用/开启qmake的优化作用;
    57) -no-nis 、-nis :禁用/开启NIS的支持;
    58)-no-cups 、-cups :禁用/开启对CUPS的支持;

    59)-no-iconv 、-iconv :禁用/开启对iconv的支持;
    60)-no-pch 、-pch :禁用/开启是否使用预处理器头文件;
    61)-no-dbus、-dbus :禁用/开启对QTdbus模块的编译;
    62)-reduce-relocations :减少因为链接优化而导致的而外的库文件重置
    63)-no-separate-debug-info :不将调试信息放在一个文件内;
    64)-separate-debug-info : 将调试信息放在一个文件内
    65)-no-opengl 、-opengl :禁用/开启对opengl的支持;
    66)-no-glib 、-glib : 禁用/启用对glib的支持。

2、编译步骤

    1)从 http://download.qt.io/official_releases/qt/  QT源代码,

    进行解压,注意解压路径不要含有空格或中文,我把它解压到了D:\Qt5.1src里,准备把编译好的放在D:\Qt5.1里;

    2)打开VS编译控制台,进入解压的地方,比如我的: cd D:\Qt5.1src;

    3)键入命令configure -prefix D:\Qt5.1 -debug-and-release -static -opensource -no-qt3support -no-dbus -no-phonon -no-webkit -qt-gif -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg;

    注:编译选项参照上面。

    4)configure可能要花几分钟时间,成功后再输入nmake开始编译,编译会花去大概1小时左右;

    5)输入nmake install,进行编译安装。

3、简单测试

    利用pro文件进行项目组织,链接相应文件和Qt的库,手动编写项目源码,使用QMAKE命令转成vs的解决方案,进行测试,简单代码如下:

    pro文件:

QT       += core
 
QT       -= gui
 
TARGET = Test
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
 
 
SOURCES += main.cpp

    main.cpp文件

#include <QCoreApplication>
 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
 
    return a.exec();
}

    编译的为控制台应用程序,如果可以正常执行即为编译成功。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值