如何在VS2010 + QT中调用CUDA

如何在VS2010 + QT中调用CUDA
如何在VS2010 + QT中调用CUDA

如何在VS2010 + QT中调用CUDA

环境:Windows 7 SP1 x64

Microsoft Visual Studio 2010

qt-win-opensource-4.7.4-vs2008.exe + qt-vs-addin-1.1.9.exe

CUDA 4.0

VS2010 + qt 和CUDA 4.0的安装及配置请参考网上资料

步骤:

1.创建一个QMainWindow的Qt程序

个人喜欢类名为mainwindow,然后点击Finish

2.然后注意将Debug改成Release(本人只配置了Release Win32版的)

3.创建CUDA 的.cu文件(1)Source Files ->添加->新建项

(2)cudatest.cu文件:

(3)

////////////////////////////////////////////////////////////////////////////////////////

(4)cudatest.cu代码:

#include"cuda_runtime.h"

#include"device_launch_parameters.h"

__global__void addKernel(int *c, const int *a, const int *b) {

int i = threadIdx.x;

c[i] = a[i] + b[i];

}

// Helper function for using CUDA to add vectors in parallel. void addWithCuda(int*c, const int*a, const int*b, size_t size) {

int *dev_a = 0;

int *dev_b = 0;

int *dev_c = 0;

// Choose which GPU to run on, change this on a multi-GPU system. system.

cudaSetDevice(0); //设置目标GPU

// Allocate GPU buffers for three vectors (two input, one output)//

//在显存上开辟内存空间

cudaMalloc((void**)&dev_c, size * sizeof(int));

cudaMalloc((void**)&dev_a, size * sizeof(int));

cudaMalloc((void**)&dev_b, size * sizeof(int));

// Copy input vectors from host memory to GPU buffers.

//将内存的数据复制到显存

cudaMemcpy(dev_a, a, size * sizeof(int),

cudaMemcpyHostToDevice);

cudaMemcpy(dev_b, b, size * sizeof(int),

cudaMemcpyHostToDevice);

//调用GPU上的函数

// Launch a kernel on the GPU with one thread for each element.

addKernel<<<1, size>>>(dev_c, dev_a, dev_b);

// cudaDeviceSynchronize waits for the kernel to finish, and returns

// any errors encountered during the launch.

cudaDeviceSynchronize(); //GPU的线程同步

//将结果复制到内存上

// Copy output vector from GPU buffer to host memory.

cudaMemcpy(c, dev_c, size * sizeof(int),

cudaMemcpyDeviceToHost);

//释放显存空间

cudaFree(dev_c);

cudaFree(dev_a);

cudaFree(dev_b);

// cudaDeviceReset must be called before exiting in order for profiling and

// tracing tools such as Parallel Nsight and Visual Profiler to show complete traces.

cudaDeviceReset(); //

}

extern"C"int* test()

{

const int arraySize = 5;

const int a[arraySize] = { 1, 2, 3, 4, 5 };

const int b[arraySize] = { 10, 20, 30, 40, 50 };

int *c = new int[5];

// Add vectors in parallel.

addWithCuda(c, a, b, arraySize);

return c;

}

/////////////////////////////////////////////////////////END CU

(4)然后到main.cpp:

关于cu文件里的test函数,我们用extern的方式在main.cpp文件里调用(这里是参考 \NVIDIA GPU Computing SDK 4.0\C\src\cppIntegration这个example 的...所以不用将cudatest.cu文件include到main.cpp里

因为c++中调用C的lib,需要用extern "C"来修饰用到的c的头文件。

(5)

额外添加的代码为:

#include//

extern"C"int* test(); //

int *c = test(); //

QMessageBox::about(&w,"CUDA",

QObject::tr("{1,2,3,4,5} + {10,20,30,40,50} =

{%1,%2,%3,%4,%5}")

.arg(c[0]).arg(c[1]).arg(c[2]).arg(c[3]).arg(c[4]));

//////////////////////////////////////////////////////////////

(6)在cudatest.cu点击右键->属性:

将不参与生成,改为:自定义生成工具:

点击"应用"后,修改为:

命令行:

"$(CUDA_BIN_PATH)\nvcc.exe" --use-local-env --cl-version 2010 -ccbin "C:\Program Files

(x86)\Microsoft Visual Studio 10.0\VC\bin" --keep-dir "Release" -maxrregcount=0

--machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o $(ConfigurationName)\cudatest.cu.obj cudatest.cu

输出:

$(ConfigurationName)\cudatest.cu.obj

//参数中的文件名自己改:

这里的参数,因为在不同的环境可能不同(这里我看了网上的好多例子,在它的例子可能可以,但去到我的机器就有问题,所以我都试了好久)

可以打开\NVIDIA GPU Computing SDK 4.0\C\src\cppIntegration这个example,然后参考cppIntegration.cu的属性页:

可以将以上这一段改改试试

点击test_qt_cuda项目的属性页:

//以下为一些QT CUDA 配置时应该做好的设置:

VC++目录->包含目录: (添加以下)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include; D:\NVIDIA GPU Computing SDK 4.0\C\common\inc;

D:\NVIDIA GPU Computing SDK 4.0\shared\inc;

D:\Qt\4.7.4\include;

VC++目录->库目录:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\lib\Win32; D:\NVIDIA GPU Computing SDK 4.0\C\common\lib\Win32;

D:\NVIDIA GPU Computing SDK 4.0\shared\lib\Win32;

D:\Qt\4.7.4\lib

链接器->常规->附加库目录:

$(QTDIR)\lib;

$(CudaToolkitLibDir);

链接器->输入->附加依赖项:

qtmain.lib;QtCore.lib;QtGui.lib;

cudart.lib;cublas.lib;cutil32.lib;shrUtils32.lib;

上面的目录,大家也可以用环境变量那里设置好的

生成的输出:

1> Performing Custom Build Tools

1> cudatest.cu

1> tmpxft_00000a70_00000000-0_cudatest.cudafe1.gpu 1> tmpxft_00000a70_00000000-5_cudatest.cudafe2.gpu 1> cudatest.cu

1> tmpxft_00000a70_00000000-0_cudatest.cudafe1.cpp 1> tmpxft_00000a70_00000000-11_cudatest.ii

会生成一个cudatest.cu.obj文件:

以上在我的机器是正常运行

的:

大家在调试的过程中要善于看生成的输出,看看是*.cu文件有没有成功生成为*.cu.obj文件,如果失败,就很可能是"自定义生成工具"那里的命令行的参数有问题,如果成功的话,我之前遇到1>Link:

的时候出问题,这里我们就要看链接器那里有没有设置错,有里会出现无法找到*.dll之类的,这里就要看VC++目录->库目录: / 链接器->常规->附加库目录:/链接器->输入->附加依赖项: 里有没能少了什么库,不断地摸索,尤其参考一下SDK里的cppIntegration那个example,然后总会成功的...

之前一直想直接找个可以运行的例子,一直找不到,现在我这个工程的下载地址: https://www.360docs.net/doc/f88907932.html,/zh-cn/files/ed735400-f7a2-11e0-81ca-0015c55db73d/

参考文件:

https://www.360docs.net/doc/f88907932.html,/view/203b72d133d4b14e852468b2.html

https://www.360docs.net/doc/f88907932.html,/view/b109f202bed5b9f3f90f1c10.html

梁志峰

广东工业大学irelandken@https://www.360docs.net/doc/f88907932.html,

Linux_Qt_4环境配置

Linux下Qt 4.8.0 环境配置 Step1:在诺基亚官QT网下载文件包 https://www.360docs.net/doc/f88907932.html,/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz Step2:打开取得root权限,将安装包解压到/usr/local 下 [CentOS@localhost ~]$ su root [root@localhost CentOS]# tar zxf /tmp/qt-everywhere-opensource-src-4.8.0.tar.gz -C /usr/local (不加-C的话在解压时会出现Not found in archive 的错误) Step3:安装Qt的一些依赖软件包 A.gcc C++ 编译器 B.Xlib库,在软件添加中找到libX11-dev,libXext-dev,libXtst-dev这三个包并安装 C.Make包,可以在终端中用yum命令安装 Step4:用root权限执行Qt中的配置文件configure [CentOS@localhost ~]$ cd $QTDIR (QTDIR是在.bash_profile定义好的环境变量) [CentOS@localhost qt-everywhere-opensource-src-4.8.0]$ su root [root@localhost qt-everywhere-opensource-src-4.8.0]# ./configure 出现以下提示 Which edition of Qt do you want to use ? Type 'c' if you want to use the Commercial Edition. Type 'o' if you want to use the Open Source Edition. 输入”o”开始安装编译环境 Step5:配置结束后中遇到如下提示 [root@localhost qt-everywhere-opensource-src-4.8.0]# gmake 开始Qt安装编译,大概需要2个小时左右

实验一、Qt实验环境搭建和使用

实验一、Qt实验环境的搭建和使用 一、实验目的 1、熟悉Qt的安装步骤 2、熟悉Qt程序的基本结构 二、实验内容 1、搭建虚拟机+Linux实验环境 2、安装Qt4.8 步骤: (1)解压代码 tar zxvf qt-everywhere-opensource-src-4.8.2.tar.gz (2)执行./config生成makefile ./config 下面出现对话框选择open source edition.这是自由版。输入yes接受协议。 (3)编译QT 执行make命令,需要2个小时。 (4)安装QT 运行make install命令。需要几分钟时间,默认安装到/usr/local/Trolltech/Qt-4.8.2. 运行/usr/local/Trolltech/Qt-4.5.3/bin/designer ,若能启动QT,说明QT已经安装好了。 (5)设置环境变量 更改用户环境变量 gedit /home/envi/.bashrc 添加: export QTDIR=/usr/local/Trolltech/Qt-4.8.2 export PA TH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA TH 更改包括root用户的环境变量 sudo gedit /etc/profile 添加: export QTDIR=/usr/local/Trolltech/Qt-4.8.2 export PA TH=$QTDIR/bin:$PATH export MANPATH=$QTDIR/man:$MANPATH export LD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA TH (6)测试环境变量 重启测试环境变量: qmake -v 显示版本信息:

QT开发经验

QT学习笔记 1.QT不支持中文路径(文件夹和名称)! 2.QT的编译结果窗口不能正常显示汉字(显示的汉字为乱码) 3.如果程序中使用了PNP以外格式的图片如gif文件,在发布程序时要将 plugins目录下的imageformats文件夹下的对应的Qgif4.dll同时发布。4.在将某一项目的所有文件拷贝至别的文件夹后,系统编译生成的文件夹不会 自动改变,需要再手工改: 5.切换对话框语言: 6.QT单编译某一文件,在文件名上击右键: 7.QT在初始打开项目、点击编译后等,暂时没反应,是正常的,需要等一会: 如下图,读入新的项目,过一会,左下角的绿色图标才会显现(开始是灰色)8.Shadow build选项作用是新建文件夹存放编译结果文件,否则就放在源文件 夹下: 9.【依赖关系】用来设置此项目还依赖于其他的项目(如依赖于另外一个项目 生成的lib库或dll),这样,编译时,会统一自动维持最新编译版本 10.QT的联机帮助的index方式,可以输入关键字,检索条目。但必须打开sidebar 才能显示输入检索关键字的界面: 11.QT编译执行时,显示下列信息: 一种原因是找不到某一DLL。究竟缺少哪一个,可以在开发环境外,直接执行exe文件,会显示: 12.QT Creator执行ReBuild命令,或者是编译时,偶尔会出现并没有重新编译 的现象,例如:将项目中某些文件删除掉(在。Pro中删除,然后保存。),再执行ReBuild,然后运行,发现还是删除前的执行程序,并没有ReBuild。 可能是太过智能,认为没啥变化。 后来发现,在编译设置中,disable了clean steps!恢复clean steps后,开发环境将先做清除,这样就可以正确判断变化了: 13.QT有这样的现象:编译执行run的结果如下: 而执行debug时,弹出对话框,与run不一样,显示了一个错误对话框:14.为了运行时不拷贝需要的dll到当前文件夹(省事),可以设置运行环境变量 PATH。QT编译运行的环境设置见下图,其中PATH会不会自动与Windows系统的设置同步不知道: Windows系统的设置

Qt5.5.1编译说明

第一次编译已经成功-webkit可用,SSL可用-开荒之旅,历尽艰辛. 第二次编译已经成功-webkit可用,SSL可用-旧事重提,高歌猛进. 建议参考第二次编译说明. 本机使用Qt官方的安装器,已经安装了msvc2010,msvc2013,msvc2013_64和Qt5.5.1源码. 本文在WIN7 x64下用MSVC2010x64动态编译Qt5.5.1源码.没有编译dbus,sql驱动只编译了sqllite.因为dbus是linux下的,驱动是第三方库,没有安装,就无法编译. 源码根目录README有很多有用信息,Qt官方网页也有很多有用信息. ●前置工具: 1.ActivePerl5.8 or later 2.Python2.7 or later 3.Ruby没找到要求,我用的2.2.4 4.DirectX SDK不然编译失败,提示和ANGLE有关,大意是要DX SDK才能把把opengl映射到A NGLE,就算使用-opengl desktop也编译失败,不清楚为什么.DirectX SDK会自己设置一个环境变量DXSDK_DIR.Qt源码自带angle源码,不用去下载,也不用单独编译. 5.C++ compiler supporting the C++98 standard 前四个工具安装后,会自动配置环境变量,也必须有,否则就得在cmd中再配置.ActivePerl在p ath中必须位于msysgit的perl之前(如果有) 关于Windows SDK 7.1和Visual Studio 2010和Visual Studio 2010 SP1,官方是这么说的: if you use this SDK with Visual Studio 2010, installing the SDK requires installing the foll owing packages in this order. 注意有if,如果没安装SDK 7.1,不用鸟这部分内容. ●第三方库: 1.ICU-采用动态编译,X64 Debug和Release都编译了,并且分开存贮. 2.SSL-采用动态编译,X64 Debug和Release都编译了,并且分开存贮. 第三方库的编译,一定要按要求走到最后一步,编译出来最终是什么目录结构(即安装后),就是什么目录结构,别改. 第三方库的编译,使用Debug版本和Release版本都可以,关键是lib和dll要对应.比如xd.lib 要和xd.dll相对应;x.lib要和x.dll.当然有的库编译出来的D/R名字一样,对于debug版本,它没有在名字后面加后缀d. 第三方库的编译,没有必要编译两个配置,一个Release配置就够了,Qt官方就是这么干的,并且官方用的动态编译. ●注意事项: [注意]在第一次编译中,编译了ICU和SSL的X64的D和R两个版本(动态编译,所有测试用例

QT编译与配置(静态库与静态运行时库)

QT编译与配置(静态库与静态运行时库) Qt是一个跨平台的应用程序程序框架,可以运行于Windows、Linux、Mac、S60等平台,自从其开源的授权协议由GPL变为LGPL后就变得流行起来。LGPL协议允许使用者开发私有程序而不开源,前提是Qt库必须以动态链接的方式加入程序。 打开Qt的下载页面,可以看到SDK和Library的下载链接。 SDK提供了完整的开发环境,而Library仅仅包含代码和编译出的库。这里的库都是动态链接的Release和Debug版库(相应的Configure参数为-debug-and-release -shared)。而如果需要静态库,就要自己编译了,如果不想自己编译,qtcn论坛上有不少已编译的静态库可以直接下载,地址 https://www.360docs.net/doc/f88907932.html,/bbs/read.php?tid=11800。 如果要自行编译,那么备好一份代码就够了,ftp://https://www.360docs.net/doc/f88907932.html,/qt/source/下有Qt的各个版本的代码下载 下面介绍一下Windows下的静态库编译过程 编译代码有基本的两步,configure和make,不过在这之前还要设置好编译环境。如果是VS,只要执行“Visual Studio 200X命令提示”就行了,如果是Mingw,需要把mingw下的bin目录加入到环境变量中。 这里推荐的configure命令是 configure [-release|-debug|-debug-and-release] -static -no-qt3support -no-webkit -platform [win32-g++|win32-msvc2008|...]

Qt开发环境下载和安装

Qt开发环境下载和安装 (2015.01.18 by Winland) Qt是跨平台的图形开发库,目前由Digia全资子公司Qt Company 独立运营,官方网址:http://www.qt.io/ 也可以访问Qt项目域名:https://www.360docs.net/doc/f88907932.html,/ Qt本身支持众多操作系统。从通用操作系统Linux、Windows,到手机系统Android、iOS、WinPhone,嵌入式系统支持QNX、VxWorks,应用非常广泛。 基于Qt的软件非常多,其中最知名的要数Linux桌面系统KDE(涵盖无数以K打头的应用软件)。国内WPS for Linux版本、360 for Linux也是使用Qt库开发的界面。只要有C++基础,Qt是很容易学的,而且开发跨平台的程序也容易。目前主流使用的Qt库有Qt4和Qt5两个大版本,下面介绍其在Windows系统里的下载和安装。 一、Qt4开发环境下载安装 首先进入下载页面http://www.qt.io/download/ 有四个使用方式,开源社区版、移动版、专业版、企业版,后面几个要钱的,这里选择第一个GPL/LGPL的下载就行了。 进入开源版页面: http://www.qt.io/download-open-source/

上面大按钮Download Now是下载在线安装版,其实只是一个下载工具,并不是真正的Qt 开发库。可以自己下载离线安装包,注意页面的“View All Downloads”,点开之后就能看 到离线包。目前看到的全是Qt5.4.0版本的,那Qt4的在哪呢? 把上面页面拖到最下面: 旧版本包就是最后一个链接:http://download.qt.io/archive/

QT环境搭建

Windows下: 节介绍Qt 5.9.0 在 Windows 平台下的安装,请提前下载好 Qt 5.9.0。目前较高版本的 Qt 仅支持 Win7 及其以后的操作系统,不支持 Win XP;使用Win XP 的读者请安装 Qt 5.5.1 之前的版本。 Qt 占用的存储空间很大,安装之前建议先准备好 8GB 以上的磁盘空间。 对于目前 Qt 最新版开发环境,如果不安装源代码包,实际占用大约 5.5GB; 如果选择安装源码包,大约占用 7.5GB。 双击下载得到的qt-opensource-windows-x86-5.9.0.exe 即可开始安装。Qt 的安装过程和普通的 Windows 软件一样,按照向导进行操作即可。 关于 Qt 的安装需要说明以下几点。 1) 注册和登录 Qt 在安装过程中会提示用户进行注册和登录,不用理会,跳过(Skip)即可,实际开发时不需要登录。 图1:Qt 安装过程中提示用户注册

2) 安装路径和关联文件 图2:指定 Qt 安装路径 Qt 允许用户自定义安装路径,但是请注意,安装路径不能带空格、中文字符或者其它任何特殊字符。 另外,该界面还会询问是否关联特定的文件类型。如果关联(默认是关联的),特定后缀的文件(包括 .cpp 文件)默认使用 Qt 打开。我喜欢使用纯文本编辑器(例如 Sublime Text)来打开C++ 源文件,所以我取消了该选项,读者根据自己的实际情况定夺。 3) 选择安装组件 Qt 安装过程中最关键的一步是组件的选择,请看下图:

图3:Qt 组件 Qt 的安装组件分为两部分:一部分是“Qt 5.9”分类下的,该分类包含的是真正的 Qt 开发库组件;另一部分是“Tools”分类下的,该分类包含的是集成开发环境和编译工具。

windows下Qt环境变量的设置

windows下Qt环境变量的设置 在Qt中编译程序完成后,想到文件夹里运行一下生成的exe文件。 这时“BANG”,系统报错:“没有找到mingwm10.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。”或“没有找到QtCored4.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。” 那么就是因为还没有给系统配置Qt的环境变量。 到“我的电脑->属性->高级->环境变量->系统变量”中编辑Path,补上Qt的bin 路径 “;X:/Qt/2010.02.1/bin;X:/Qt/2010.02.1/qt/bin;X:/Qt/2010.02.1/mingw/bin”即可,其中“X”对应安装Qt的硬盘盘符,改之。 网上有太多关于Windows下Qt配置的文章,各有各的说法,按照他们的去做也都不行。经过一番摸索之后,终于算是把Windows下Qt的开发环境给配置好了。首先,说明的是Qt Open Source已经不支持Visual Studio了,因为Qt公司把这个功能当作Qt Commerical里面的一个功能了。所以,不要想在VC6.0或VS2005下用Qt了,当然,至于是不是真的能用我自己也没有去尝试。我这里,只是翻译了Qt公司网站上的一句话罢了,呵呵,废话不多说了。 Qt for Windows有两种格式的文件:一种是exe格式的,一个是src格式的。当然,这里我推荐大家下载exe格式的文件,因为不用那么繁琐的配置和编译,只要点OK就行了。 一、exe格式的Qt for Windows的安装与配置过程 1、安装MinGW,这个是必须的,到哪里去下载,这个我就不多说了。我用的是MinGw的3.4.2版本的。也是exe格式的MinGW,只要一路点OK就行了。当然,最好装在C:\MinGW下吧,因为好找啊。呵呵 2、安装exe格式的Qt for Windows,当在安装的过程中会有提示MinGW的安装路径,这时默认的就是C:\MinGW所以,只要一路OK就行了。Qt for windows 的默认安装路径是:C:\Qt\4.4.3\,当然这里我的Qt版本是4.4.3的。 3、将Qt for Windows的bin目录添加到环境变量里面,添加方法:我的电脑-》属性-》高级-》环境变量,找到名为PATH的环境变量,然后点编辑,在后面加上C:\Qt\4.4.3\就行了,当然这个路径要和原来的路径之间用分号;分开的。

QT4.7.3 VS2008环境搭建

(默认VS2008已经安装) 方法一(推荐): 步骤如下: 1、下载安装:qt-win-opensource-4.7.3-vs2008.exe 下载地址:https://www.360docs.net/doc/f88907932.html,/qt/source/qt-win-opensource-4.7.3-vs2008.exe 2、下载安装:qt-vs-addin-1.1.9.exe 下载地址:https://www.360docs.net/doc/f88907932.html,/vsaddin/qt-vs-addin-1.1.9.exe 安装很容易,安装完成。 方法二: 1、下载源代码:qt-everywhere-opensource-src-4.7.3.zip 下载地址:https://www.360docs.net/doc/f88907932.html,/qt/source/qt-everywhere-opensource-src-4.7.3.zip 2、将qt-everywhere-opensource-src-4.7.3.zip解压到某个目录下; 3、配置环境变量,在用户变量中添加QTDIR,值为qt-everywhere-opensource-src-4.7.3.zip 所在目录(例如I:\qt-everywhere-opensource-src-4.7.3);另外,在“系统变量”中的Path变量中添加I:\qt-everywhere-opensource-src-4.7.3\bin,用“;”隔开。如把Path值改成I:\qt-everywhere-opensource-src-4.7.3\bin;%SystemRoot%\system32;%SystemRoot%; 4、使用Visual Studio 2008Command Prompt,进入Microsoft Visual Studio9.0\Common7\Tools\目录下,执行vsvars32.bat,执行完,进入L:\qt-win-opensource- src- 4.5.1。 5、输入指令: configure -platformwin32-msvc2008 -debug-and-release。等一阵子,大概十几分钟,configure就会完成。这一步一定要注意,我前几次编译没通过都是因为configure参数出了问题。网上绝大多数帖子都说加上个static参数。我感觉这个静态编译参数没有必要,而且编译后体积太大。仅仅一个hello world控制台应用程序都快上M了。一个空的Qt GUI应用程序都好几M,虽然可以只用一个可执行文件就可以拿到别的机子上跑,可是如果有几个可执行文件,就很不划算了,每个都好几M,加起来会很臃肿,Qt官方文档中也不提倡这么做。还有,加上-static就无法编译通过。如果第一个理由不足以说服你放弃static,那第二个总可以了吧,呵呵。有两次,我加了static参数,头一次编译到webKit的时候报错,无法继续编译了。第二次,我用-no-webkit不编译webkit,可是到了Opengl又出问题了。提示说什么变量名冲突,结果又一次没编译通过。后来不用static就编译成功了。 6、输入nmake。等上4-6个小时,就完成编译了。占用10G硬盘空间。 7、这一步很重要,关系到是否能用qt-vs-addin。 把I:\qt-everywhere-opensource-src-4.7.3下的.qmake.cache和configure.cache这两个文件手动备份到另一个地方。然后输入指令: nmake confclean; 8、几分钟后,清理完成,那个文件夹会从10G锐减到700M,这个时候再把刚备份的.qmake.cache和configure.cache拷回原处。这时候最好把编译后的一堆东西打个包备个份,免得下次又要编译几个小时...打包之后只有207M 9、安装qt-vs-addin-1.1.9.exe (https://www.360docs.net/doc/f88907932.html,/vsaddin/qt-vs-addin-1.1.9.exe)装完之后,打开VS2008,菜单栏会多出一个Qt选项,选择Qt选项下的Qt Options,在Qt Versions中添加路径,点击Add,选择路径https://www.360docs.net/doc/f88907932.html,/vsaddin/qt-vs-addin-1.1.9.exe,OK。(如果第7步中没有备份并还原.qmake.cache和configure.cache这两个文件,这里是无法添加的) 10、大功告成,辛辛苦苦编译了半天终于可以爽一把了。呵呵

Qt for WinCE 环境搭建心得

Qt for WinCE 环境搭建心得 李振宇2011-10-17 由于c#版终端软件在WinCE终端上运行不稳定,因此考虑用C++(Qt)重新开发,以前用Qt的SDK安装很方便,可是Qt Wince环境必须要编译Qt源代码,为了搭建环境经历了很多周折,历尽艰辛,花了3天时间,终于搞定了,现把主要步骤和注意事项记下,以留备用。 原来的开发环境设计msvc2005 + qt4.7.4 + qt-vs-addin1.1.9 (qt的此两项为当前最新版本)可是由于qt4.7.4在编译(for wince)时出现错误,此为qt4.7.4的一个Bug(见资料1),因此改为qt4.7.3。msvc2005在安装win32版时,由于只有msvc2008编译版,重新编译麻烦,因此改为msvc2008,否则Debug版编译有问题(见资料2)。还有qt-vs-addin1.1.9在和msvc2008,wince6.0搭配有问题,加不了qt库(见资料3),因此改用qt-vs-addin1.1.8。开发板方面用的是ARM9的SmartArm3250(wince 6.0)。 最终开发环境为msvc2008 + qt4.7.3 + qt-vs-addin1.1.9 资料1 : qt4.7.4 for wince bug 现象:编译qt库时出现错误error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t 参考资料:https://https://www.360docs.net/doc/f88907932.html,/browse/QTBUG-21331 Description:When building the Windows CE version of Qt4.7.4 (using e.g., configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008, linking (nmake) fails with the following output ... Creating library ..\..\lib\QtGuid4.lib and object ..\..\lib\QtGuid4.exp pngwrite.obj : error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t ..\..\lib\QtGuid4.dll : fatal error LNK1120: 1 unresolved externals Function gmtime is not available under Windows CE / Windows Mobile, so that would explain the linker error. I marked the Component as Image formats, as it seems to be related to pngwrite / libpng. Answer:But QT 4.7.4 for WinCE have problems with maximized forms ( form.showMaximized() ) I have to get back to 4.7.3 version. 资料2 : msvc2005 Debug版不能用qt-win-opensource-4.7.3-vs2008.exe 参考资料:https://www.360docs.net/doc/f88907932.html,/yibobin/blog/item/7fe8b9f01cbd76d47831aa28.html 结论1:如果你想把Qt4.6.2安装在VS2005中,又不想花时间编译,请下载和安装qt-win-opensource-4.6.2-vs2008,并单独编译“QT安装路径\src\winmain\” 结论2:在安装qt-win-opensource-4.6.2-vs2008(msvc9/vs2008已编译版)之前千万不要安装qt-sdk-win-opensource-2010.02.1(miniGW已编译版),如果不幸安装了,请先卸掉它,切记!

Qt集成开发环境搭建

搭建集成开发环境: 【实验目的】 正确安装Qt 开发环境 【实验步骤】 官方网站下载Qt Creator 集成环境 https://www.360docs.net/doc/f88907932.html,/downloads-cn 地址为Qt 中国镜像 安装Qt 集成开发环境需要安装一下的包: Qt Creator 是Qt 集成开发环境框架 MinGW Window 上的编译器 Qt 是Qt 主程序 Symbina Arm Device Debugger 作为调试器来使用运行安装程序第一步: 点击【next】

同意协议点击【next】 点击【next】

默认安装大小为1.4g 所以找一个足够大的磁盘,点击【next】 安装到D 盘,点击【next】。

点击【next】 开始进行安装,安装时间大约需要10分钟。

以上是安装细节 安装后程序缩略图附:

qt程序出错,提示找不到mingwm10.dll的解决方法(没有找到mingwm10.dll,因此这个程序未能启动...) 2009-10-24 23:12 标签:qt 找不到mingw10.dll 出错 估计很多qt新手都会遇到这样的问题。出现这样的问题分两种情况,一种是电脑上已经安装了qt,第二种是编译好的qt程序拷贝到另外一台没有安装qt的电脑上 我们先说第一种情况。这种情况绝大多数的问题出在环境变量上。你会发现用Qt Command Promtp去执行编译好的qt程序是没有问题的,但双击图标执行程序就会出错。 请仔细看看刚进入Qt Command Promtp时屏幕上打印的几行字: Setting up a MinGW/Qt only environment. -- QTDIR set to e:\Qt\2009.04\qt -- PATH set to e:\Qt\2009.04\qt\bin -- Adding e:\Qt\2009.04\bin to PATH -- Adding C:\WINDOWS\System32 to PATH ... 由于qt默认是动态编译的,执行的时候需要加载动态库,而安装qt的时候并没有修改环境变量,所以它找不到某些库是很正常的。 这时只要修改一下环境变量就行了。进入“控制面板”,双击“系统”,选择“高级”,单击下面有一个名为“环境变量”的按钮。如图

qt移植编译的参数和环境变量详解

-release 这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。 -release 与上面对应,自然是调试版了,如果开发的话,可以选择它吧。 -debug-and-release 囧,上面那两个的儿子。 -developer-build 囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。 -opensource -commercial 这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。 -shared -static 这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。 -no-fast -fast 这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。 -no-largefile -largefile 顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。 -no-exceptions -exceptions 计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。 -no-accessibility -accessibility 可访问性的支持,说实话,这个我真不知道有什么有用了。等哪天发现了,再来好好解释。-no-stl -stl 是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。 no-sql--qt-sql- -plugin-sql- 这个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称可以自己查看参

vs2013 + qt5.5.0 环境搭建

1. PC: win10 2. vs版本: vs2013 3. qt版本: qt5.5.0 x64 4. vs-addin: qt-vs-addin-1.2.4-opensource.exe 一、安装 vs和qt的安装一律采用默认安装; 建议修改qt的安装盘到d盘 二、配置qt环境 打开vs2013,配置qt(打开vs2013时会报错,是因为qt没有配置导致,不管它) 打开上图的Qt Options,如下图 选择add---> 添加 Version name选择Qt5.5.0 Path选择D:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl ( 注意: 安装了不同的qt版本,那么上面的path也会不尽相同,不过最终都是找到带有msvc开头的. 若是qt版本不一样,请同时更换相应的版本号 ) 如下图所示:

三、新建工程 注意; 在建立工程之前, 请注意qt setting的配置,如下图(红框内一定要选中你上面配置了的, 否则qt会报错) 新建工程,如下图所示: 点击"确定"之后,来到qt的配置,直接点击finish(关于后续的qt配置,请参考其它文档,此处不讲)

此时直接编译会报错, 需要配置编译环境 1. 选中test工程(第一步) 2. 选择x64平台(第二步) 3. 确认qt setting中的下拉框选中设置的Qt5.5.2(如上图配置Default Qt/Win version的图) 4. 在qt菜单下选择qt-project-settings 设置version为Qt 5.5.2 (第三步)

最后,如果编译过, 请先清理解决方案, 然后再按f7编译. 此时便能编译成功.

Linux环境下Qt的编译

Linux环境下Qt的编译 邵发2015/6/26 一、编译Qt 4.8.3 Qt本身其实就是由一个大型的库,在Linux使用时,首先要编译Qt本身。Qt压缩包是一个很容易编译的带了源码的项目,下面介绍如何编译它。 以下是对QT4.8.3的编译,如果你的版本不一致,只要把版本号目录名改一下就行了。 1. 在Linux下,解压缩Qt4.8.3的压缩包,例如 tar zxvf qt4.8.3.tar.gz -C /opt/build/qt4.8.3/ 2. 在命令行窗口中,切换到源码目录,例如 cd /opt/build/qt4.8.3/ 和普通的Linux项目一样,执行configure / make / make install三大步骤。 (1) configure 为了加快编译速度,先修改一下 projects.pro这个文件,把不需要编译的行前加#号注释一下。(否则编译过程极为漫长,因为它把examples和demos都编译了一遍) for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) { isEqual(PROJECT, tools) { SUBDIRS += tools } else:isEqual(PROJECT, examples) { # SUBDIRS += examples } else:isEqual(PROJECT, demos) { # SUBDIRS += demos 然后,执行configure进行配置,例如 ./configure -prefix /opt/qt4.8.3 -opensource -no-qt3support -nomake examples -nomake demos -no-webkit 注:在编译选项中,为了加快编译速度,取消了example,demos和webkit模块的编译。 (2) make 输入make命令,开始编译 make

QT安装及环境变量设置

QT安装及环境变量设置 一直以来,对于Qt环境变量的配置及常见问题一直比较混淆,最近重装了Win7系统,有需要安装Qt了,于是借这个机会把那些琐碎过一遍,拿出来和大家分享一下。 QT安装 一. 下载安装文件:qt-sdk-win-opensource-2010.05.exe 下载网址:https://www.360docs.net/doc/f88907932.html,/downloads,这是Qt官方网站,您可以选择下载更新的版本,我的这个版本已经比较老了。 二. 安装Qt 运行Qt安装文件,按照指导一步一步安装即可,我就不赘述了。 三. 汉化Qt 可以到CSDN上下载,我上传了汉化包及使用说明,网址为:https://www.360docs.net/doc/f88907932.html,/source/3255642 QT环境变量设置 四. QT环境变量设置 Qt环境变量的设置可以可以参考Qt安装目录bin文件夹下的qtenv.bat的设置,比如我的安装路径为D:\Qt,那么该

目录就在D:\Qt\bin\qtenv.bat,其内容为: ============================================== ==== @echo off rem rem This file is generated rem echo Setting up a MinGW/Qt only environment... echo -- QTDIR set to D:\Qt\qt echo -- PATH set to D:\Qt\qt\bin echo -- Adding D:\Qt\bin to PATH echo -- Adding %SystemRoot%\System32 to PATH echo -- QMAKESPEC set to win32-g++ set QTDIR=D:\Qt\qt set PATH=D:\Qt\qt\bin set PATH=%PATH%;D:\Qt\bin;D:\Qt\mingw\bin set PATH=%PATH%;%SystemRoot%\System32 set QMAKESPEC=win32-g++ ============================================== ==== 上面是批处理代码,其涵义简述如下:

QT移植与开发环境搭建

一:软硬件 1. 主机: ubuntu 8.04 2. 平台:devkit8000(omap3530) 3. tslib-1.4 4. QT版本: qt-embedded-linux-opensource-src-4.4.3.tar.gz 5. 交叉编译工具:arm-none-linux-gnueabi-2007q3 二: 移植tslib 1. tar xzvf tslib-1.4.tar.gz export CC=arm-none-linux-gnueabi-gcc export CXX=arm-none-linux-gnueabi-g++ 2. cd tslib/ ./autogen.sh 执行这条命令可能会报错,需要安装以下工具: sudo apt-get install autoconf sudo apt-get install automake sudo apt-get install libtool 3. echo "ac_cv_func_malloc_0_nonnull=yes" >arm-none-linux-gnueabi.cache ./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no PLUGIN_DIR=/home/tslib/plugins -prefix=/home/tslib/build --cache-file=arm-none-linux-gnueabi.cache 2>&1 | tee conf_log 4. make 2>&1 | tee make_log make install 5. 将/home/tslib/build/lib下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下 6. 将/home/tslib/build/etc下的ts.conf拷贝到开发板的/etc下 module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear 注意只留这几行,其他的必须全部删掉,包括注释。 7. 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:

2011.6.3总结安装Qt的过程和步骤

总结安装的过程和步骤 一、装ubuntu的话,先不管三七二十一,把以下的东西装了再说: 1.sudo apt-get install g++ (若有g++的话,则输入命令g++会显示:no input file) 2.sudo apt-get install libX11-dev libXext-dev libXtst-dev (对付显示的错误显示:Basic XLib functionality test failed!) 3.sudo apt-get install yum 4.sudo ln -s /usr/bin/make /usr/bin/gmake 5.yum -y install libtool-ltdl* 6.sudo apt-get install raster3d 7.sudo apt-get install mlocate 8.sudo apt-get install libtiff4-dev 9.sudo apt-get install libx11-dev libfreetype6-dev libavahi-gobject-dev (与dev之间有一个空格)libSM-dev libXrender-dev libfontconfig-dev (与dev之间有一个空格)libXext-dev 10.sudo apt-get install cutecom 11.sudo apt-get install autoconf automake libtool 二、安装过程 1.先把qt压缩包复制到/usr/local目录下吧 命令:cp qt-x11-opensource-src-4.5.3.tar.gz /usr/local (qt-x11-opensource-src-4.5.3.tar.gz还可以是其他版本的压缩包比如:qt-everywhere-opensource-src-4.7.2.tar.gz等等) 2.跳到/usr/local目录下: cd /usr/local 3.解压压缩包: tar zvxf qt-everywhere-opensource-src-4.7.2.tar.gz

Qt工程编程实践总结

Qt工程编程实践总结 本文总结了在编程实践过程中遇到的技巧,以供参考。 目录 1 工程代码常见问题 (1) 1.1编译报错 (1) 1.1.1 中文路径问题 (1) 1.2路径错误问题 (1) 2 QT中文乱码问题解决 (1) 2.1文本编辑器的编码配置 (2) 2.1.1 QT Creator全局配置 (2) 2.1.2 某个工程项目的编码配置 (3) 2.2 提示乱码的解决 (3) 3 控件自适应窗口大小 (4) 3.1设置顶级布局 (4) 3.2 注意事项 (4) 1 工程代码常见问题 1.1编译报错 本工程的源代码均编译运行成功后发布,请检查Qt版本是否一致,本工程采用Windows 7下的Qt5.10.1编写。Author-MARK-Q-32000- 1.1.1 中文路径问题 本工程的Qt源代码需要在纯英文路径下运行,下载后请将路径重命名为英文路径,以防止出现错误。 1.2路径错误问题 如果安装的Qt不能编译,出现提示“路径错误”,例如:Could not create directory “**”in Util.asciify可以检查编译路径是否设置正确。打开Qt creator界面的左边的“项目”,打开“构建设置”可以看到编译路径变成红色的了,设置为正确的路径即可。 2 QT中文乱码问题解决

本工程采用的是“UTF-8”编码方式,需设置编辑器的编码格式。若使用VS打开或字符编码配置不正确(默认为system也即GB18030 或GBK 或GB2312等),则会乱码。 采用UTF-8在输出中文时,可省去编码转换。Author-MARK-Q-28121- 2.1文本编辑器的编码配置 设置QT Creator全局配置和工程范围配置: 2.1.1 QT Creator全局配置 在QT Creator集成环境中,点击菜单栏的“工具(T)”--->>“选项(O)”,打开选项对话框:在左侧列表中选择文本编辑器,在右侧的文本编辑器中,选择第二个选项卡---“行为”选项卡。在右侧的“文件编码”组中,将默认编码选择“UTF-8”。 另外,为了方面操作,可同时打开“Display file encoding”功能。在文本编辑器的第三个选项卡---“显示”选项卡,勾选上最后一个复选框“Display file encoding”

相关文档
最新文档