登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 >> 主题: qt 5.12.10 在 gcc11 下编译的一个补丁处理的方法 [‘::min’ has not been declared; did you mean ‘std::min’]     [回主站]     [分站链接]
标题
qt 5.12.10 在 gcc11 下编译的一个补丁处理的方法 [‘::min’ has not been declared; did you mean ‘std::min’]
clq
2022-05-23 11:43:16 发表 编辑


11.特殊的清空 makefile 处理

重新配置太花时间的情况下可以清空不需要的 so ,如串口操作这样的,方法是清空 makefile 就行了。不过不是清空整个文件,而是清空它的编译目标。

clq
2022-05-23 14:07:46 发表 编辑

12.
要安装依赖库的话,参考
https://www.freesion.com/article/41551373162/

错误:Project ERROR: xcb-xfixes development package not found
解决方法:sudo apt-get install libxcb-xfixes0-dev libxcb-util-dev

错误:Project ERROR: Unknown module(s) in QT_PRIVATE: serialport
解决方法:sudo apt-get install libqt5serialport5 libqt5serialport5-dev

另,参考
https://www.bilibili.com/read/cv12524130/
Project MESSAGE: Hunspell not found! Spell correction will not be available.
Project ERROR: xcb-xfixes development package not found

sudo apt install libncurses5-dev libreadline-dev libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-glx0-dev libxcb-xinerama0-dev

不过后面这个安装的东西太多,要谨慎。建议一个个装。我一次执行这样的一串命令时居然删除了整个 linux ... 具体原因未知。

另外,它们都加了一个参数 configure -release
不知道这个 “-release” 是否是必须的。


clq
2022-05-23 16:24:01 发表 编辑

13.

生成动态库还是静态库是可以选择的
-shared Qt的lib以动态编译生成
-static Qt的lib以静态编译生成

----------------------------------------------------------------
参考 https://blog.csdn.net/sean_8180/article/details/104172361

Qt中configure参数配置说明
CodeApe123
于 2020-02-04 17:59:46 发布 1197
收藏 7
分类专栏: QT 文章标签: qt configure
版权
QT 专栏收录该内容
8 篇文章 0 订阅
订阅专栏

执行./configure –help命令,可以获得相应帮助。

-release 编译Qt发布版

-debug 编译Qt调试版

-debug-and-release 以上两者

-opensource 编译是开源版本

-commercial 编译是商业版本

-shared Qt的lib以动态编译生成

-static Qt的lib以静态编译生成

-no-fast 所有的工程文件都会生成到makefiles中,编译的时间长

-fast 仅将子目录和库生成到makefiles,能加快编译的速度

-no-largefile 不支持大文件

-largefile 支持大文件

-no-exceptions 编译器不支持抛出异常

-exceptions 编译器支持抛出异常

-no-accessibility

-accessibility

-no-stl 不支持 c++ stl

-stl 支持 c++ stl

no-sql-
-qt-sql-
-plugin-sql-

qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称可以自己查看参数里,有详细地介绍。

-system-sqlite 使用操作系统上的sqlite数据库

-no-qt3support 支持qt3

-qt3support 不支持qt3

no-xmlpatterns 不支持xml

-xmlpatterns 支持xml

-no-phonon

-phonon

phonon是qt中处理多媒体的模块,

-no-phonon-backend
-phonon-backend
与上面类似,只不过这两是以插件的形式加入支持。

-no-svg

-svg

是否加入svg的支持,svg即可缩放矢量图形。

-no-webkit

-webkit

是否加入webkit的支持

-no-scripttools

-scripttools

是否加入脚本工具的支持

-platform target 目标平台

-qtnamespace 把qt的库封装到命名空间

-qtlibinfix 将所有的qt的.so库重命名

-qt-zlib

-system-zlib

选择qt带的zlib库还是系统的zlib。zlib库是用于文件和资料压缩的库

-no-gif
-qt-gif

选择gif图片的支持

-no-libtiff
-qt-libtiff
-system-libtiff

选择tiff图片的支持,tiff是一种非常复杂的光栅图像格式

-no-libpng
-qt-libpng
-system-libpng

选择png图片的支持

-no-libmng
-qt-libmng
-system-libmng

选择mng动图的支持

-no-libjpeg
-qt-libjpeg
-system-libjpeg

选择jpeg图片的支持

-no-openssl
-openssl
-openssl-linked

选择openssl的支持

-make
-nomake

这两个参数选择哪些需要编译,哪些不需要编译, libs tools examples demos docs translations参数选择,例如如examples,并不重要,可以放在-nomake后,编译过程中就不会编译这部分

-R
-l

这两个参数是为编译时增加一个库的运行路径及头文件的路径,比如使用tslib作为开发触摸驱动时,我们就应使用这两个参数来指定tslib的库路径和头文件路径。

-no-rpath

-rpath

告诉动态加载器,到-rpath指定的目录中寻找编译时须要的动态链接库,语法就与上面的参数结合,比如 -rpath -R/home/xxxx。

-continue 出现错误时依然进行配置编译

-verbose, -v 显示配置的每一步的具体信息。

-no-optimized-qmake
-optimized-qmake

是否编译生成优化过的qmake

-no-nis
-nis

是否编译NIS支持,NIS(网络信息服务)是一个提供目录服务的RPC(远程过程调用)应用服务

-no-cups
-cups

是否编译CUPS支持,CUPS给Unix/Linux用户提供了一种可靠有效的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。CUPS还可以浏览网络打印机

-no-iconv
-iconv

选择是否编译iconv支持,iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。这对跨语言Qt开发人员来说是很有用的

-no-pch
-pch

是否支持预编译过的头文件。预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里(通常以.pch为扩展名),这个文件就称为预编译头文件。这些预先编译好的代码在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。

no-dbus
-dbus
-dbus-linked

是否编译编译QtDBus模块。dbus是freedesktop下开源的Linux IPC通信机制,本身Linux 的IPC通信机制包括,管道(fifo),共享内存,信号量,消息队列,Socket等。在Qt中DBUS是有单独的模块的,可见其重要性。

-reduce-relocations 对于额外的库链接器优化,可以减少编译中的再定位。

no-separate-debug-info
-separate-debug-info
是否存储debug信息在.debug,一般为了查错,选择存储。

-xplatform target 即交叉编译的目标平台,根据所要移植的目标板来确定

-no-feature-
-feature-

选取qte的feature编译,特性的描述你可以参考src/corelib/global/qfeatures.txt,在这里面对于每个特性都有比较充分的讲解

-embedded 嵌入式平台架构选择

-armfpa
-no-armfpa

这个参数只是针对ARM平台的,是否加入对于基于ARM的浮点数格式的支持,通常,这个参数在编译时会自动选择。

-little-endian
-big-endian

目标平台的大端和小端选择

-host-little-endian
-host-big-endia

主机平台的大端和小端选择

-no-freetype
-qt-freetype
-system-freetype

选择freetype支持,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件

-qconfig local 使用本地的qconfig配置文件来替代全部参数配置

-depths 显示的像素位深

-qt-decoration-