Windows下用Scons编译QT程序
来源:互联网 发布:大数据傻瓜式 编辑:程序博客网 时间:2024/05/22 11:22
Windows下用Scons编译QT程序
关于什么是python、什么是scons、什么是qt……这些肤浅、粗俗的问题,请求助于搜索引擎。
本文仅记录怎么在Windows系统上让这几位合作起来。
注意:
1. 前提是系统已经安装有QT SDK,安装有VC(或者MingW或者Cygwin之类的编译环境)。
2. 注意文中路径,网上很多不成功的情况都源自某个环节的路径出错。
3. 文中所列均为跨平台工具,理论上在其它系统环境下也能完成,成与不成,看你的悟性,以及人品。
一、安装Python。
目前scons只能工作在python2系列上。我们需要先安装python2,现在python2系列最新的版本是2.7.2。
最好的方式是到python.org上去下载windows installer,相当简单,基本一路next就OK。
假设我们安装在D:\SOFTWARE\Python2.7。
二、安装scons。
最好的方式是去www.scons.org下载scons的windows intaller。当前最新的版本是http://prdownloads.sourceforge.net/scons/scons-2.1.0.win32.exe。
然后点击安装。基本上,你只需简单的一路next。
scons的installer会自动检测已经安装的python,然后将自己的程序安装到python子目录下。
安装好的路径应该是这样:
D:\SOFTWARE\Python2.7\Lib\site-packages\scons-2.1.0
三、测试scons。
随便找个目录,新建一个helloworld.c。
1
#include <stdio.h>
2
int
main()
3
{
4
printf
(
"Hello, world!\n"
);
5
return
0;
6
}
相同目录下再新建一个名为"Sconstruct"的文件,内容只有一行,注意大小写。:
Program(‘hello.c’)
然后进入命令行模式,CD到Sconstruct所在的目录,执行scons命令。
一般会有以下输出:
C:\>scons
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
cl /Fohello.obj /c helloworld.c /nologo
link /nologo /OUT:helloworld.exe helloworld.obj
embedManifestExeCheck(target, source, env)
scons: done building targets.
同时在当前目录下会生成一个hellow.exe,大功造成。
四、安装scons-qt。
scons-qt是基于scons项目的扩展模块,可以让scons支持QT特有的编译工具,像moc,rcc,uic等。
在scons的wiki页面上可以看到scons-qt的介绍。(http://www.scons.org/wiki/ToolsIndex)
当前scons-qt的主页在 https://bitbucket.org/dirkbaechle/scons_qt4/downloads 。
当前最新版的下载地址 https://bitbucket.org/dirkbaechle/scons_qt4/get/default.zip 。
解压出来会看到两个目录,分别是使用手册和测试用例,先放一边。
真正需要安装的其实只有一个文件,即__init__.py。
在D:\SOFTWARE\Python2.7\Lib\site-packages\scons-2.1.0\SCons\Tool目录下新建一个名为qt4的文件夹。
然后把__init__.py拷贝到该目录中。就这么简单。
五、测试scons-qt。
下面是一个简单的QT程序,helloqt.cpp。
01
#include <QtGui/QtGui>
02
#include <QtCore/QtCore>
03
04
int
main(
int
argc,
char
** argv)
05
{
06
QApplication app(argc, argv);
07
QPushButton * button =
new
QPushButton(
"Hello QT!"
);
08
button->show();
09
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
10
app.exec();
11
return
0;
12
}
在相同目录下建立一个名为“SConstruct”的文件,内容如下:
env=Environment()
env['QT4DIR']="D:\\SOFTWARE\\QT4.7.3" #这里是QT的安装路径
env.Tool("qt4")
env.EnableQt4Modules(['QtGui','QtCore'])
env.Program(‘helloqt’,'helloqt.cpp’)
特别要注意前四行,经常会有人在这里遇到问题。
然后进入命令行模式,进入SConstruct所在目录,执行scons。
D:\Workspace\QT\helloQT>scons
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
cl /Fohelloqt.obj /c helloqt.cpp /TP /nologo /DQT_GUI_LIB /DQT_CORE_LIB /ID:\SOF
TWARE\QT4.7.3\include /ID:\SOFTWARE\QT4.7.3\include /ID:\SOFTWARE\QT4.7.3\includ
e\QtGui /ID:\SOFTWARE\QT4.7.3\include\QtCore
helloqt.cpp
link /nologo /OUT:helloqt.exe /LIBPATH:D:\SOFTWARE\QT4.7.3\lib qtmain.lib QtGui4
.lib QtCore4.lib helloqt.obj
scons: done building targets.
当前目录下生成了一个helloqt.exe的文件。
双击看到“Hello QT!”,大功告成。
- Windows下用Scons编译QT程序
- windows下使用SCons编译tolua++
- Windows下编译静态Qt程序
- 使用Scons编译QT项目
- windows 环境下 scons 交叉编译 (RVCT4.1)
- 让scons在windows下以 posix 风格编译
- QT初探-在windows下编译QT程序
- 使用scons构建windows程序
- 使用scons构建windows程序
- (转)Windows下静态编译QT程序
- Windows下编译好的Qt程序运行问题
- Windows 下的QT 编译
- WINDOWS下命令行编译QT
- windows下 Qt 静态编译
- windows下 Qt 静态编译
- windows下QT库编译
- WINDOWS下命令行编译QT
- Windows 下编译安装 QT
- 使用scons构建windows程序
- 翻译:OPTIMIZING WITH QPIXMAPCACHE(使用QPIXMAPCACHE进行优化
- PDFsharp 自定义字体
- [MSCHART]柱状图
- kernel 启动过程之五, initcall 的来由, console 的初始化
- Windows下用Scons编译QT程序
- Business Intelligence Center
- cocos2d-x实现node圆弧运动
- [Mac]Mac键盘常用快捷键
- 汉字的不同编码表示
- linux 修改主机名(抄的)
- [Java]读取文件方法大全
- C# Enum,Int,String的互相转换 枚举转换
- HTC部分手机WiFi漏洞存在网络安全问题