首页 VS2010下Qt、OpenCV静态编译

VS2010下Qt、OpenCV静态编译

举报
开通vip

VS2010下Qt、OpenCV静态编译VS2010下Qt、OpenCV静态编译 1VS2010下Qt、OpenCV静态编译 11. 静态编译Qt库 11.1解压Qt源文件,静态编译Qt库 21.2静态编译前的修改 21.3 VS2010下静态编译 51.4 在VS2010上安装Qt插件 61.5 VS2010下设置Qt静态编译环境 91.6 静态链接Qt插件 122. 静态链接OpenCV库 122.1 解压OpenCV,设置环境变量 122.2. 在VS上链接OpenCV库 142.3 设置VS201...

VS2010下Qt、OpenCV静态编译
VS2010下Qt、OpenCV静态编译 1VS2010下Qt、OpenCV静态编译 11. 静态编译Qt库 11.1解压Qt源文件,静态编译Qt库 21.2静态编译前的修改 21.3 VS2010下静态编译 51.4 在VS2010上安装Qt插件 61.5 VS2010下设置Qt静态编译环境 91.6 静态链接Qt插件 122. 静态链接OpenCV库 122.1 解压OpenCV,设置环境变量 122.2. 在VS上链接OpenCV库 142.3 设置VS2010为静态链接输出模式 1. 静态编译Qt库 1.1解压Qt源文件,静态编译Qt库 以建议用源码压缩包qt-everywhere-opensource-src-4.8.4.zip,直接解压到自己指定的目录下即可。用Qt源文件编译静态库出错较少,编译出来的文件也较小。 1.2静态编译前的修改 1.删除源码包中bin目录下的syncqt和syncqt.bat文件 或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误 2.修改源码目录下\mkspecs\win32-msvc2010下的qmake.conf文件 a) CONFIG                  += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target(整一行替换掉) b) QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t(把后面的“-”号删除) c) 把文件中的QMAKE_CFLAGS_RELEASE,QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO,QMAKE_CFLAGS_DEBUG这3处后面的MD, MDd因为这一次是要静态编译,所以MD改为MT,MDd改为MTd。 3. 修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,将本行替换成return WEB_UI_STRING("Look Up \"\"", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString)); 注意原文中双引号用错了,导致编译时会出现U1077错误。 1.3 VS2010下静态编译 在VS2010的命令提示符下进行,开始->Microsoft Visual Studio 2010->Visual Studio Tools(中文版是“工具”)->Visual Studio 命令提示,打开如下 用“cd”命令进入源码目录下,进行configure命令 然后输入一下命令configure -debug-and-release -fast -static -platform win32-msvc2010 -no-qt3support -script -scripttools -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-sql-odbc -plugin-sql-odbc -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake demos -nomake examples -nomake docs -mp 注意,这里我们为了节省时间,并没有编译根目录下的demos、example、docs文件夹,如果有需要的话,可以去除-nomake demos -nomake examples -nomake docs命令,那么则会编译所有文件夹,或者是编译完成后,用cd命令进入相应文件夹下,运行nmake命令。有关configure命令参数的部分说明,请看这个链接:http://www.cnblogs.com/elect-fans/archive/2012/03/28/2420647.html 然后输入”o”选择开源版本,再输入“y”,确认。 等几分钟完成后,会提示输入nmake命令,此时再输入“nmake”即可。时间从一个小时到两个小时不等。 1.4 在VS2010上安装Qt插件 qt-vs-addin-1.1.10.exe双击直接安装,一路“next”即可。安装完之后打开VS2010,可以看到Qt菜单栏,可以通过QT菜单进行QT编译库定位以及打开pro工程文件,也可以通过新建工程项目来创建QT工程。 此时,有两个方法可以打开或建立Qt工程文件,一个是直接用Qt菜单栏打开.pro文件,另一个方法是,把.pro文件转换成VS2010可以是别的.sln文件,同样可以用VS2010的命令,进入Qt安装目录或源码加压目录下的examples或者demos文件夹下的例程里,用qmake -tp vc projname.pro命令,把.pro文件生成相应的.sln文件 然后就可以用VS2010打开相应的项目。 1.5 VS2010下设置Qt静态编译环境 安装Qt插件后还不能在VS上打开Qt项目,还需要安装Qt软件,用来打开Qt文件,比如*.pro文件(这里只是为了打开项目文件,链接时用的是前面我们编译的静态库)。安装 安装完成后设置环境变量: 点击 计算机->属性->高级系统设置->环境变量,在用户变量或者系统变量中修改,新建环境变量名字为”QTDIR”,值为”D:\Qt\4.8.4″。 在PATH环境变量中添加:”D:\Qt\4.8.4\bin″,然后重启即可; 现在我们就可以通过VS2010的Qt菜单栏打开Qt项目了,打开后 a) 点击Qt option,添加之前编译的静态链接库 路径直接选择编译后静态编译后Qt库的目录就可以了,如D:\Qt4.8.4_static,名字自己取,然后点击确定。然后点击Qt Project Setting 在版本一栏,选择新添加的静态库即可。 走到这一步,只要静态编译那一步没有出错,则静态链接Qt库配置完毕。 1.6 静态链接Qt插件 1. 往自己项目工程的*.pro文件里面添加如下语句 QTPLUGIN += qjpeg \ qgif \ qkrcodecs \\根据自己需求添加所需插件 2.打开项目工程,在main.cpp里面添加宏“#include ”,然后用语句Q_IMPORT_PLUGIN() ,添加所需的插件,如下所示: Q_IMPORT_PLUGIN(qsqlite) Q_IMPORT_PLUGIN(qico) Q_IMPORT_PLUGIN(qsqlodbc) Q_IMPORT_PLUGIN(qcncodecs) 3.添加插件库目录 打开 Property->Linker->General->Additional Library Directories 添加相应插件的目录。跟插件相关的*.lib文件的目录在 Qt/plugins 目录下找,比如有关sql数据库的驱动库文件目录为D:\Qt4.8.4_static\plugins\sqldrivers 然后,在 Property->Linker->Input->Additional Dependencies页面里面添加相应库名字,如果是debug模式下,在名字后面加‘d’。 4.编译通过,说明添加成功;如果编译有问题,可能还需要在插件的*.pro文件里面添加“CONFIG += static ”,然后重新编译插件的*.pro工程文件。相关插件的工程文件目录在Qt \src\plugins 下。 可以参考如下文档http://qt-project.org/doc/qt-4.8/plugins-howto.html 2. 静态链接OpenCV库 比较新版本的OpenCV,比如2.4.3,2.4.4都配置有自己的静态库,供用户使用,因此我们只需要正确设置链接就可以了。 2.1 解压OpenCV,设置环境变量 1.双击OpenCV-2.4.4-win-superpack.exe,解压到指定文件路径; 2.右击“我的电脑”选“属性”->“高级系统设置”->“环境变量”,在用户变量或者系统变量中设置,在path中添加C:\Program Files\opencv\build\x86\vc10\bin 3.添加环境变量“OPENCV”,内容:C:\Program Files\opencv\build 2.2. 在VS上链接OpenCV库 打开Qt或者VS项目,点击 属性->VC++目录->库目录,往库目录里添加OpenCV静态库路径。 比如:E:\opencv\build\x86\vc10\staticlib 然后,在Linker选项->Input->Additional Dependencies选择,然后在编辑框中输入一下内容后确定: vfw32.lib comctl32.lib zlibd.lib libjasperd.lib libjpegd.lib libpngd.lib libtiffd.lib IlmImfd.lib opencv_core244d.lib opencv_imgproc244d.lib opencv_highgui244d.lib opencv_ml244d.lib opencv_video244d.lib opencv_features2d244d.lib opencv_calib3d244d.lib opencv_objdetect244d.lib opencv_contrib244d.lib opencv_legacy244d.lib opencv_flann244d.lib 从上面添加的库也可以看出,我用的OpenCV库是2.4.4版本的,其他版本的库做相应的修改,比如把opencv_flann244d.lib 改成opencv_flann243d.lib(2.4.3版本)。 2.3 设置VS2010为静态链接输出模式 还是在项目属性面板里设置,属性->C/C++ ->代码生成->运行库,把运行库设置为MT,若是DEBUG选择MTD,然后编译。 然后重新编译项目,建议编译之前先对解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 进行一次清理,方法是在解决方案上点击右键->清理。 如果出现Cannot find or open the PDB file 的提示信息,是因为静态链接的时候缺少PDB文件信息,一般不影响编译结果,如果要消除这个提示可以按如下步骤进行: 1.打开 工具->选项->调试->符号,在符号文件选择窗口那里选上“Microsoft符号服务器”,然后确定,重新编译程序,程序自动从网上下载符号缓存,时间比较长。 2.下载一次完成之后,找到下载缓存的目录, 看到此目录下符号缓存了吗?(上图中我已经改过缓存目录,不是原来的默认目录)找到这个目录拷贝出来,找个地方存放。接下来就是去掉Microsoft符号服务器,要是不去,每次都要从Microsoft下载很麻烦,已经缓存了,我们就可以利用好这些缓存,至此问题解决。
本文档为【VS2010下Qt、OpenCV静态编译】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_837502
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:17
分类:互联网
上传时间:2013-10-27
浏览量:28