精华内容
下载资源
问答
  • QT 编译pro小技巧

    2020-05-12 10:52:11
    总结了一些Qt黑科技,欢迎大家及大神积极补充,谢谢。 1:编译前复制文件 src_file = $$PWD/py.db dst_file = $$OUT_PWD/bin/py.db win32 { src_file ~= s,/,\\,g dst_file ~= s,/,\\,g #system(copy /y ...

    总结了一些Qt黑科技,欢迎大家及大神积极补充,谢谢。

    1:编译前复制文件

       src_file = $$PWD/py.db

       dst_file = $$OUT_PWD/bin/py.db   

    win32 {

       src_file ~= s,/,\\,g

       dst_file ~= s,/,\\,g   

       #system(copy /y
    srcfile
    srcfile
    dst_file)

    }

    unix {

       system(cp -r -f
    srcfile
    srcfile
    dst_file)

    }

     

    2:编译完成后复制文件

       src_file = $$PWD/file/*.*

       dst_file = $$OUT_PWD/bin/

    win32 {

       src_file ~= s,/,\\,g

       dst_file ~= s,/,\\,g

       QMAKE_POST_LINK += copy
    srcfile
    srcfile
    dst_file

    }

    unix {

       QMAKE_POST_LINK += cp -r -f
    srcfile
    srcfile
    dst_file

    }

     

    3:根据qt版本号加载子项目

    #判断当前qt版本号

    QT_VERSION = $$[QT_VERSION]

    QT_VERSION = $$split(QT_VERSION,".")

    QT_VER_MAJ = $$member(QT_VERSION, 0)

    QT_VER_MIN = $$member(QT_VERSION, 1)

     

    message(qt version: $$QT_VERSION)

     

    #用到了webkit内核,在5.5以上版本移除该子项目

    greaterThan(QT_VER_MAJ, 4){

       greaterThan(QT_VER_MIN, 4){

           SUBDIRS -= map

           SUBDIRS -= webkit

        }

    }

     

    4:pro指定编译前执行和编译后执行动作

    编译前执行

    QMAKE_PRE_LINK = cp - f  [source] [destionation]

    编译后执行

    QMAKE_POST_LINK = cp - f [source] [destination]

    多条命令

    QMAKE_POST_LINK += copyReferences\*.dll  Debug\ &

    QMAKE_POST_LINK += copy References\*.dll..\bin\ &

    QMAKE_POST_LINK += copy Debug\*.exe ..\bin\

     

    5:pro指定编译文件目录

    MOC_DIR             = temp/moc

    RCC_DIR             = temp/rcc

    UI_DIR              = temp/ui

    OBJECTS_DIR         = temp/obj

    DESTDIR             = bin

    6. 运行文件附带调试输出窗口
    CONFIG += console pro

    原文链接:https://blog.csdn.net/feiyangqingyun/article/details/53667460

    展开全文
  • 其实问题的解决办法很简单:就是Qt不支持中文的路径,把源码的路径...Cannot find file: F:\Pro\Qt\QT5开发及实例\本书源程序\CH1\CH101\Dialog\Dialog.pro. 21:55:03: 进程"D:\Qt\Qt5.5.0\5.5\msvc2013_64\...

    其实问题的解决办法很简单:就是Qt不支持中文的路径,把源码的路径全部改成英文即可解决问题。

    首先问题发生在我运行网上的例子程序时,重新构建编译也是出错,提示:

    Cannot find file: F:\Pro\Qt\QT5开发及实例\本书源程序\CH1\CH101\Dialog\Dialog.pro.
    
    21:55:03: 进程"D:\Qt\Qt5.5.0\5.5\msvc2013_64\bin\qmake.exe"退出,退出代码 2 。
    
    Error while building/deploying project Dialog (kit: Desktop Qt 5.5.0 MSVC2013 64bit)
    
    When executing step "qmake"

    QT Creator对大于带有两个空格的目录和中文命名的目录不支持!!究其原因 应该是qmake对带有空格的目录和中文命名的目录不支持!!

    展开全文
  • QT编译qtdesigner

    千次阅读 2015-01-23 16:26:13
    最近QT-designer不知道为啥所有电脑上的qt-designer都崩溃,没办法只能调试源代码,于是在qt4.7.4的源代码tools下,打开designer.pro,将其加载为QT的VS项目,编译designer发现报好多问题,简单的问题我就不多说了,...

    最近QT-designer不知道为啥所有电脑上的qt-designer都崩溃,没办法只能调试源代码,于是在qt4.7.4的源代码tools下,打开designer.pro,将其加载为QT的VS项目,编译designer发现报好多问题,简单的问题我就不多说了,几个比较简单的问题有:

    1.找不到lib_pch.h,找不到lib_pch.cpp,配置C/C++的include即可

    2.找不到qdesigner_pch.h,解决方法上同

    3.moc_iconselector_p.cpp文件编译的时候找不到 IconSelectorPrivate,也就是d_func()->slotStateActivated()等等都找不到声明

    大家都知道C++编译的时候,肯定要找到类型的声明部分,但是要编译moc_iconselector_p.cpp那就要增加声明啊,但是大家想想

    QT使用的都是Impl技术,也就是私有化内部实现,咱们是不可能加iconselector.cpp的,这样就没法编译了。(相互依赖啊)。


    解决方案:

    1.QT对特定的关键字处理不一样,对于头文件中Q_OBJECT的会采用moc机制来生成QMetaObject对象

    2.对于Q_PRIVATE_SLOT() 其实并不是起到宏定义的作用,只是预留,留给moc来进行处理,对于Q_PRIVATE_SLOTS这种特殊的情况其生成的moc文件不能单独参与编译

      (如果要编译,也就意味着需要include 私有类的定义)

    3.正确的做法是如果遇到Q_PRIVATE_SLOT,需要在该实现文件(cpp文件中)最后加入moc_xxxx.cpp文件。由原始的cpp文件引导moc文件的编译,这样就形成单向编译了。

    4.而qtdesigner中报的问题的根本原因是该moc文件参与编译了。所以要想根本的解决这个问题需要编辑vcprojx文件。将moc从编译中移除,移除方法如下:

    找到该文件的编译选项:

    <ClCompile Include="Debug\moc_iconselector_p.cpp">

    <ExcludedFromBuild Condition="$(Configuration)|$(Platform)'=='Release|Win32'">true<ExcludedFromBuild>

    <ClCompile>

    很明显,右pro导入的vc项目文件配置有BUG,将部分文件的debug和release的移除依赖弄反了

    <ClCompile Include="Debug\moc_iconselector_p.cpp">

    <ExcludedFromBuild Condition="$(Configuration)|$(Platform)'=='Debug|Win32'">true<ExcludedFromBuild>

    <ClCompile>


    其他文件出现的这种问题也需要采用相同的方法来解决,如果debug编译不过去,就将有问题的文件从debug中移除,

    release中有问题的文件从release中移除即可。【注意:每个文件针对每个配置选项都有一套,均需要修改正确】

    5.在此编译QTDesigner成功通过

    6.designer也OK了,嘿嘿

    7.另外通过调试 我也知道了为什么我的qtdesigner一直崩溃的问题了,不止第三方DLL的问题,而是有个设计的配置文件有问题,文件位置在

    c:\users\用户名\.designer 【注意designer前面的点号,默认是隐藏的】里面有个gradients.xml,我发现这个文件有700多M。由于这个文件

    加载错误导致了qtdesigner的崩溃,将该文件删除即可,QT的资源里有默认的配置文件。










    展开全文
  • qt编译使用opencv

    千次阅读 2018-12-12 14:08:34
    文章目录Opencv介绍及使用OpenCV的 MSVC 版及 MinGW 版opencv源码Qt编译Opencv Opencv介绍及使用 Windows下32位Qt Mingw32编译 官网:https://opencv.org/ Opencv是一个基于BSD开源许可发行的跨平台计算机视觉...

    Opencv介绍及使用

    Windows下32位Qt Mingw32编译
    https://gitee.com/ll.zhangll/opencv_qt/blob/master/doc/opencv介绍及使用.md
    官网:https://opencv.org/

    Opencv是一个基于BSD开源许可发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android、Maemo、FreeBSD、OpenBSD、IOS、Mac OS等平台上运行,OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。也有大量的Python、Java和MATLAB/OCTAVE的接口。

    OpenCV的 MSVC 版及 MinGW 版

    下载的Opencv文件夹会有:

    • build(已编译好的库)
    • sources(源码)

    使用 MSVC 的话,直接在

    build/x64/vc14里面就有了,配置好路径就可以使用。

    使用 MinGW 版

    ​ opencv没有为我们编译好 MinGW 版,需要我们自己下载opencv源码编译。

    opencv源码

    ​ opencv for windows 跟 opencv for linux 的源码是一样的,只是 opencv for windows 里面多了已编译好的 opencv。

    Qt编译Opencv

    1. 下载 QtCreator

    2. 下载 CMake https://cmake.org/download/ 如果QT的mingw编译器是32位MinGW 5.3.0 32bit的,则CMake也要下载相对应 32 位版本,否则编译通不过。

    3. 安装CMake时勾选自动配置环境变量。在QtCreator下的:选项–构建与运行–CMake–会自动检测出cmake。
      1544521908793

    4. 下载Opencv一个版本的源码,用QTCreator打开OpenCV源码中的 CMakeLists.txt,就像加载.pro一样加载opencv工程,进入项目,编译构造配置选择 Release,等待几分钟,Qt正在加载 CMakeLists.txt 文件,具体过程可以从QtCreator中的概要信息中看到。加载完毕后,需要对配置做一些修改。

      • 1544521952282 在这里插入图片描述
    5. 修改配置,刚加载上工程配置会慢一些:
      -在这里插入图片描述

      • 勾选WITH_OPENGLWITH_QT

      • 取消勾选WITH_IPPWITH_MSMF ENABLE_PRECOMPILED_HEADERS

      • 设置CMAKE_INSTALL_PREFIX一个路径,这个路径是编译完成后的输出路径。双击-浏览选路径,选择完毕后,回车确认,否则可能选不上

      • 再到构建步骤,详情中勾选 install。**注意:**只有勾选了此选项后,编译完成后的输出路径才有效。

      • 点击按钮 Apply Configuration Changes,完成后,点击构建即可。构建过程中如果想要用多个核同时编译,可以设置qt的 Environmeng: MAKEFLAGS=-j8,如下图:

      在这里插入图片描述

    在这里插入图片描述

    • 编译时出现错误:
           在文件opencv/sources/modules/videoio/src/cap_dshow.cpp中出错 error : 
           'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ...
           
           打开cap_dshow.cpp 在如下位置增加 #define NO_DSHOW_STRSAFE 继续编译即可。如上如即可。
           #include <vector>
           
           //Include Directshow stuff here so we don't worry about needing all the h files.
           #define NO_DSHOW_STRSAFE
           #include "DShow.h"
           #include "strmif.h"
           #include "Aviriff.h"
           #include "dvdmedia.h"
           #include "bdaiface.h"
           ```
    
    ## Qt加载Opencv
    
    
    • 注意设置Opencv的bin目录到环境变量中
    .pro
    
    win32 {
        INCLUDEPATH += C:\OpenCV\4.0.0\include
        LIBS += C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_calib3d400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_core400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_dnn400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_features2d400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_flann400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_gapi400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_highgui400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_imgcodecs400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_imgproc400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_ml400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_objdetect400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_photo400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_stitching400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_video400.dll.a \
                C:\OpenCV\4.0.0\x86\mingw\lib\libopencv_videoio400.dll.a
    }
    
    #include "mainwindow.h"
    #include <QApplication>
    
    #include "opencv2/core.hpp"
    #include "opencv2/highgui.hpp"
    #include "opencv2/imgproc.hpp"
    using namespace cv;
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        Mat img = imread(QString("1.jpg").toStdString());
        namedWindow("111");
        imshow("111", img);
    
        return a.exec();
    }
    
    展开全文
  • qt编译后拷贝文件使用qmake $$replace函数 一、认识QMake工程文件基本元素 (1)变量可以用于存储临时的列表值,覆写存在的列表值或是扩展新的值 第一种赋值方法只包括同一行指定的值,下列代码显示了如何赋值...
  • QT pro自动化编译

    2015-10-17 19:21:05
    QTpro文件为工程自动化跨平台编译提供了便利,可以直接通过qmake生成Makefile文件,windows执行nmake,linux下执行make即可完成整个项目的编译
  • Qt编译MySQL数据库驱动

    2020-12-02 08:46:01
    文章目录一、我的编译环境二、需要三、Qt的下载四、编译驱动(主题)4.1 第一步打开msql.pro第一步 一、我的编译环境 Qt:5.14.2 mingw73_64 MySQL:8.0.22 64位 二、需要 我们编译MySQL的驱动需要使用到Qt的源码和...
  • Qt编译出错

    千次阅读 2016-06-19 20:54:59
    编译环境为win7 64位, Qt 版本为qt-opensource-windows-x86-mingw492-5.6.1 最近重新拿 《精通Qt4编程》这本书来学习,在编译书带的源代码时,报错。 编译输出如下: 20:41:54: 为项目direct执行步骤 ... 20:41:...
  • Qt编译mysql驱动

    千次阅读 2015-08-07 15:14:56
    Qt学习之编译mysql驱动
  • 下面介绍 Qt Creator 的使用说明,在操作前,请先按前面的步骤配置好交叉编译环境和运行环境。 安装 进入 Qt 官方下载页面,下载 qt-opensource-linux-x64-5.9.4.run,下载完成之后,运行安装,一路next。 配置 安装...
  • Qt编译MySql5.7.17驱动

    千次阅读 2017-03-01 23:28:22
    Qt编译MySql5.7.17驱动。
  • Qt编译增加FLAG

    千次阅读 2016-01-14 15:46:57
    所以开始使用嵌入式Qt进行编译,发现还是不能通过,网上搜索,解决方法,说要重新编译Qt,并且加上QT_KEYPAD_NAVIGATION的FLAGS。这难倒我了,如何增加呢!我记得当初在编译Qt的时候有个配置文件qmake.conf,在...
  • QT编译oracle驱动

    千次阅读 2015-08-05 18:59:04
    本文详细介绍了在QT编译oracle驱动的全过程。要说明非常重要的一点:QT的位数需与oracle的位数一致,否则编译驱动的时候会一直报错!
  • qt 编译运行步骤

    千次阅读 2019-05-16 17:07:28
    由.pro文件生成Makefile文件,makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模 块及库等). 再构建。 构建[mingw32-...
  • Qt编译出错:“Cannot find file......pro

    千次阅读 多人点赞 2016-07-13 09:12:27
    本人刚接触Qt,在使用Qt5.7的时候,出现如下的编译错误:  其实原因很简单,就是Qt项目所在的路径不能包含中文。即笔者这里包含了“程序练习”四个字。只要把路径中的中文换掉,再进行编译,就不会报错了。 ...
  • Qt编译xp平台程序

    2017-02-08 13:08:15
    Qt编译xp平台程序需在.pro文件中加下面一句: QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01
  • QT编译可执行文件

    2020-07-16 15:48:45
    -在QT的xxx.pro文件中加入了 TARGET = output/param_config MOC_DIR = debug/ RCC_DIR = debug/ UI_DIR = debug/ OBJECTS_DIR = debug/ 输出将保存在debug及output文件夹下 在根目录下创建debug和output文件夹,...
  • Windows Qt 编译

    千次阅读 2012-04-02 12:37:41
    一、配置与编译QT。   qt-everywhere-opensource-src-4.7.4.zip qt-everywhere-opensource-src-4.8.0.zip   这两个文件是 QT 4.7 和 QT 4.8 的源文件,若需要在 VS2010中使用,需要先编译。   方法:   ...
  • Qt 编译一直死循环问题

    千次阅读 2020-05-17 01:22:27
    有时候Qt编译项目时, 一直编不过,查看一下编译窗口,发现一直在循环 输出如下: C:\soft\Qt5.11\5.11.1\mingw53_32\bin\qmake.exe -o Makefile ..\..\..\..\PalmQtLib\PalmQtLib\PalmQtLib.pro -spec win32-g++ ...
  • Qt编译运行方式

    2017-05-30 23:03:45
    Qt编译运行方式无非有两种,一种是用Qt Creator开发环境,另外一种是命令行。 使用第一种方式不用多说,下面讲解的是使用命令行进行编译运行的方式。 1.拷贝D:\Qt\Qt5.5.0_32\5.5\msvc2013\bin\qtenv2.bat文件至本...
  • 虚拟机QT编译环境配置

    千次阅读 2014-02-09 20:10:30
    花了些时间把虚拟机上的QT编译环境弄好了,在现在总结一下配置过程以及遇到的问题。我的配置环境以及QT版本号如上所述。 起初的时候我用工作的虚拟机环境配置,这个环境是之前同事给我的,里面怎么配置的我也不太...
  • QT编译xenomai用户层程序

    千次阅读 2020-07-30 16:02:05
    QT编译xenomai用户层程序 在.pro文件中添加: XENO_DIR = /usr/xenomai XENO_CONFIG = $$XENO_DIR/bin/xeno-config XCFLAGS = $(shell $$XENO_CONFIG --skin=alchemy --cflags) XLDFLAGS = $(shell $$XENO_CONFIG --...
  • Qt编译Oracle数据库驱动

    千次阅读 2015-03-13 11:39:59
    当时看到的都是基于MinGW的Qt编译的驱动,但是我使用的是基于MSVC的Qt,虽然方法大差不差,不过也是有些不同的。 编译环境: 首先需要安装Oracle数据软件;安装Qt 4.8.5(VS2010)VS2010 编译步骤: ...
  • qt编译boost_1_69库

    2019-03-27 08:50:28
    qt编译的boost_1_69库,希望能帮助大家,完成之后可以在刚才指定的目录中找到编译好的库。 引用的时候,第一步添加头文件目录 在项目文件*.pro中添加以下信息(如:I:\boost_1_69\bin\include\boost) INCLUDEPATH += F:/...
  • Qtpro文件中配置条件编译

    千次阅读 2020-02-20 10:32:55
    Qtpro文件中配置条件编译 概述 该篇博客主要总结梳理Qt项目在pro文件中如何实现条件编译。 通过定义宏 在pro文件中可以通过DEFINES定义宏变量,如下述代码所示: DEFINES += TEST 当在pro文件中定义上述...
  • Qt编译oracle数据库驱动oci

    千次阅读 2017-10-20 14:13:58
    前言声明:qt编译的位数版本和数据库oracle的版本是密切相关的,qt是不提供64为系统的安装包的,所以在win7平台上多数是32位的,如果你的电脑是64位的,但是qt装了默认32位的,那么你的oracle只能装32位的,否则...
  • Qt深入浅出(二)Qt编译机制

    千次阅读 2018-02-24 00:14:02
    3 Qt编译机制3.1 编译过程​ 使用qmake.exe 工具解析.pro文件,然后生成Makefile, 通过makefile-32bit.exe解析Makefile文件来编译,可通过查看Qt Creator显示的编译信息。 先执行qmake命令解析class1_1.pro文件,...
  • Qtpro中实现条件编译

    千次阅读 2017-09-13 08:41:40
    Qtpro中实现条件编译 --小结:自己正在参与的项目中需要一套代码在Windows和Linux下交叉编译,实现中使用了条件编译(#ifdef WINDOWS #endif #ifdef LINUX endif),然后在选择编译版本的试试在Qt的.pro文件中,...
  • QT编译报错:Cannot find file:问题解决

    千次阅读 2019-09-26 16:28:30
    QT编译报错:Cannot find file:问题解决 报错原因:创建路径存在中文字符,将其改为英文字符即可

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,664
精华内容 7,865
关键字:

proqt编译