Chinaunix首页 | 论坛 | 博客
  • 博客访问: 56953
  • 博文数量: 13
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-11 22:25
文章分类
文章存档

2014年(4)

2013年(2)

2011年(1)

2009年(3)

2008年(3)

我的朋友

分类: C/C++

2013-07-13 22:28:28

VS2010+QT5.1.0静态库编译

 

 

安装准备:

VS2010 安装的是网上下的版本

cn_visual_studio_2010_ultimate_x86_dvd_532347(ED2000.COM) 挺好用自己上网找吧

下载qt-everywhere-opensource-src-5.1.0.tar.gz

地址:

安装Perl5

ActivePerl-5.16.3.1603-MSWin32-x86-296746

安装Python  python-2.7.5


 

安装Ruby 

rubyinstaller-2.0.0-p247

 

Perl Python Ruby 都是按默认路径安装到C盘下了

 

设置环境变量Path

加上这下面几个路径:

C:\Ruby200\bin;C:\Python27;C:\Perl\site\bin;C:\Perl\bin;

 

解压qt-everywhere-opensource-src-5.1.0.tar.gz

运行Visual Studio命令提示(2010) 并将将工作目录切换到

qt-everywhere-opensource-src-5.1.0文件夹下(我是放到C:\Qt中了)

C:\Qt\qt-everywhere-opensource-src-5.1.0>

执行命令:

configure -confirm-license -opensource -prefix "C:\QT\5.1.0-rel-static_vc2010" -debug-and-release -static -platform win32-msvc2010 -no-c++11  -no-icu -opengl desktop  -qt-zlib -qt-libpng -qt-libjpeg -nomake demos -nomake examples -nomake tests -mp

这里首先解决一个错误:

错误输出内容 qtbase\\configure.exe' 不是内部或外部命令,也不是可运行的程序

原因是直接下的代码,并不是用gitclone出来的。

解决办法是在qtbase创建一个.gitignore文件,里面内容为foo

如在qt-everywhere-opensource-src-5.0.1目录下,可以运行命令:“echo foo > qtbase\.gitignore”。然后再configure即可通过。

 

echo foo > qtbase\.gitignore

 

 

执行命令:

configure -confirm-license -opensource -prefix "C:\QT\5.1.0-rel-static_vc2010" -debug-and-release -static -platform win32-msvc2010 -no-c++11  -no-icu -opengl desktop  -qt-zlib -qt-libpng -qt-libjpeg -nomake demos -nomake examples -nomake tests -mp

 

没出什么错误的话,执行nmake 这个编译时间实在是太长了大概要
nmake install

 

 

 

关于congigure 命令中的各项说明 

-opensource -confirm-license qt的使用协议,这个是使用开源协议,并同意

-prefix  "C:\QT\5.1.0-rel-static_vc2010" 设置qt的安装目录,
-static
设置静态编译,动态编译的话,去掉
-platform win32-msvc2010 
设置编译器类型,可根据情况换成win32-msvc2012   win32-g++或者其他 可选择类型在qtbase\mkspecs\目录下了
-debug-and-release
编译debugrelease 只编译release设置 -release只编译debug的设置- debug
-no-c++11
关闭C++11的支持,目前只有vs2010 vs2012支持C++11特性
-no-icu
关闭不是使用icu

-opengl desktop 使用opengl
-nomake demos -nomake examples -nomake tests
不编译示例,测试
 -mp
使用多核优化编译、

 

 

目录设置

 

 

 

-prefix

指定编译结果目录,如果不指定编译结果将会出现在Qtbase

库编译

 

 

 

-debug

生成debug

 

-release

生成release

 

-debug-and-release

生成debugrelease

 

-shared

创建并使用动态Qt

 

-static

创建并使用静态Qt

模块编译

 

 

 

-make

编译(libs,tools,examples...)

 

-nomake

不编译(libs,tools,examples...)

 

-skip

构建时排除该模块

 

-no-widgets

禁止编译widgets模块

 

-no-sql-

禁止编译指定SQL驱动

 

-no-opengl

不支持opengl

 

-opengl

使能opengl指定API

desktop 桌面OpenGL

es1

es2

 

-icu

使用ICU

 

-no-icu

不是用ICU

Windows支持

 

 

 

-no-vcproj

不生成vc++.vcproj文件

 

-vcproj

只针对"win32-msvc.net",

 

-no-openssl

不编译openssl

 

 

关于congigure选项这里只是简单参照网上的一般设置具体介绍可参考下面一篇比较好的博文

链接地址:

http://www.cnblogs.com/liff-engineer/archive/2013/05/20/3088740.html

 

 

Qt Creator 2.8安装

下载qt-creator-windows-opensource-2.8.0.exe

 

Qt Creator 静态编译设置

 

 

工具->选项(option)

QT版本

添加 选择编译安装的qmake 目录C:\Qt\5.1.0-rel-static_vc2010\bin

 

选择构建套件(kit)

名称:QT5.1.0_VS2010_static
QT版本:选5.1.0-rel-static_vc2010

 

新建文件项目->Qt Gui项目  名称QtDemo

构建套件选择刚刚设置的 QT5_1_0_VS2010_static

编译运行

build-QtDemo-QT5_1_0_VS2010_static-Debug\debug 目录下有静态链编生成的应用程序 16.4M 最简单的小测试程序……

 

 

 

 

 

 

 

MinGW+QT5.1.0静态库编译

 

安装Perl5 Python Ruby 同前

安装MinGW

MinGW 4.7

tdm-gcc-4.7.1-2

 

MinGW32\bin路径添加到Path环境变量中

配置命令:

configure.bat -prefix C:\Qt\Qt5.1.0_Static -release -static -no-c++11 -opengl desktop -no-angle -nomake examples -nomake tests -nomake doc -skip qtwebkit

编译安装命令

mingw32-make

mingw32-make install

有问题编译不过啊!!!!!!!暂时没整明白

阅读(8620) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~