当前位置: 首页 > news >正文

旅游酒店网站建设佛山专业网站建设报价

旅游酒店网站建设,佛山专业网站建设报价,西安网站建设seo,室内设计师可以自学吗CMake与Qt4/Qt5的结合使用指南 一、同时使用Qt 4和Qt 5二、Qt构建工具2.1 AUTOMOC2.2 AUTOUIC2.3 AUTORCC 三、<ORIGIN>_autogen目标四、Visual Studio生成器五、Windows上的qtmain.lib六、其他文章推荐 在CMake中&#xff0c;您可以方便地找到并使用Qt 4和Qt 5库。Qt 4库…

CMake与Qt4/Qt5的结合使用指南

  • 一、同时使用Qt 4和Qt 5
  • 二、Qt构建工具
    • 2.1 AUTOMOC
    • 2.2 AUTOUIC
    • 2.3 AUTORCC
  • 三、<ORIGIN>_autogen目标
  • 四、Visual Studio生成器
  • 五、Windows上的qtmain.lib
  • 六、其他文章推荐

在CMake中,您可以方便地找到并使用Qt 4和Qt 5库。Qt 4库通过CMake自带的 FindQt4模块来查找,而Qt 5库则通过Qt 5自带的“配置文件包”来查找。

一、同时使用Qt 4和Qt 5

在同一个CMake构建系统中,您可以同时使用Qt 4和Qt 5。以下是一个示例CMakeLists.txt文件的代码:

cmake_minimum_required(VERSION 3.8.0 FATAL_ERROR)project(Qt4And5)set(CMAKE_AUTOMOC ON)find_package(Qt5 COMPONENTS Widgets DBus REQUIRED)
add_executable(publisher publisher.cpp)
target_link_libraries(publisher Qt5::Widgets Qt5::DBus)find_package(Qt4 REQUIRED)
add_executable(subscriber subscriber.cpp)
target_link_libraries(subscriber Qt4::QtGui Qt4::QtDBus)

需要注意的是,CMake目标不能同时链接Qt 4和Qt 5。如果尝试这样做,CMake会发出警告。

二、Qt构建工具

Qt依赖一些捆绑工具来进行代码生成,例如moc(元对象代码生成)、uic(小部件布局和填充)以及rcc(虚拟文件系统内容生成)。这些工具可以在适当条件下由CMake自动调用,适用于Qt 4和Qt 5。

2.1 AUTOMOC

AUTOMOC目标属性控制CMake是否检查目标中的C++文件,以确定是否需要运行moc并在适当时机创建执行规则。如果在头文件中找到AUTOMOC_MACRO_NAMES中的宏,CMake将运行moc并生成相应的moc_<basename>.cpp文件。

生成的moc_*.cpp*.moc文件将存放在<AUTOGEN_BUILD_DIR>/include目录中,并自动添加到目标的INCLUDE_DIRECTORIES中。

对于多配置生成器,包括目录为<AUTOGEN_BUILD_DIR>/include_<CONFIG>

2.2 AUTOUIC

AUTOUIC目标属性控制CMake是否检查目标中的C++文件,以确定是否需要运行uic。如果找到与<path>ui_<basename>.h匹配的预处理#include指令,并且存在相应的<basename>.ui文件,则会执行uic以生成相应的文件。

生成的ui_*.h文件将放在<AUTOGEN_BUILD_DIR>/include目录中,并自动添加到目标的INCLUDE_DIRECTORIES中。

2.3 AUTORCC

AUTORCC目标属性控制CMake是否在源文件后缀为.qrc时创建规则以在适当的时间执行rcc

三、_autogen目标

mocuic工具的执行由CMake生成的合成<ORIGIN>_autogen自定义目标管理。默认情况下,该目标继承了<ORIGIN>目标的依赖关系。

四、Visual Studio生成器

在使用Visual Studio生成器时,CMake生成一个PRE_BUILD自定义命令,而不是<ORIGIN>_autogen自定义目标。

五、Windows上的qtmain.lib

在Windows上,Qt 4和5的QtGui库的IMPORTED目标指定将链接Qt捆绑的qtmain.lib静态库。如果要禁用此行为,可以为基于Qt 5的目标启用Qt5_NO_LINK_QTMAIN属性,或为基于Qt 4的目标启用QT4_NO_LINK_QTMAIN属性。

add_executable(myexe WIN32 main.cpp)
target_link_libraries(myexe Qt4::QtGui)add_executable(myexe_no_qtmain WIN32 main_no_qtmain.cpp)
set_property(TARGET main_no_qtmain PROPERTY QT4_NO_LINK_QTMAIN ON)
target_link_libraries(main_no_qtmain Qt4::QtGui)

使用CMake构建系统时,结合Qt 4和Qt 5提供了灵活性和强大功能。通过适当地配置CMake属性和目标,您可以有效管理Qt的代码生成和库链接,提升开发效率。希望这篇文章能够帮助您更好地理解和使用CMake与Qt的结合。

六、其他文章推荐

  1. CMakeLists.txt从入门到精通(看这篇就够)
  2. Cmake中Debug 、 Release 、RelWithDebInfo和 MinSizeRel类型说明
  3. cmake构建动态库实例(cmakelist)
  4. C++构建简单静态库实例(cmakelist)
http://www.yayakq.cn/news/233959/

相关文章:

  • 做期货在哪个网站查资料信息网站建设汇报
  • 龙华专业做网站不是营销型的网站
  • wdcp配置网站2021最近最火的关键词
  • 电脑上做简单的网站手机百度账号登录入口
  • 用域名和主机做网站的详细过程三分钟做网站
  • 网站建设ahxkj国内代理ip地址 免费
  • 网站建设财务项目管理制度匠王红木在那个网站做众筹
  • 音乐图书馆网站建设wordpress笑话主题模板
  • ps6做网站点哪里保存手机网站建设论文
  • 上海网站制作网墨猴seo排名公司
  • 重庆注册公司核名在哪个网站网站怎么做维护
  • 网站session 验证鼎诚网站建设
  • 成都网站建设v芯ee8888e电子商务有什么用
  • 电子商务网站建设的风险分析网站策划书案例
  • 做牙工作网站西安专业网站建设公司
  • 淄博机关建设网站深圳市宝安区西乡街道邮政编码
  • 平台网站建设在哪里移动网站转换
  • 电子商务毕业设计网站WordPress表单系统
  • 哪个网站可以做拼图太原网站优化培训
  • 太仓网站制作网站建设春雨app直播免费看
  • 门户网站ip地址段商业网站自主设计
  • 12306网站多钱做的网站不备案可以做微信小程序么
  • 建设银行内部网站6兼职 做网站
  • 红鱼洞水库建设管理局网站车间生产管理软件免费
  • 深圳网站空间购买网站建设方案标书
  • 温州网站建设案例广告宣传费用一般多少
  • 自己可以进行网站建设吗搞一个网站花多少钱
  • 微信投票网站开发scorilo wordpress
  • 住房和创新建设部网站家庭宽带做网站
  • 阆中网站建设三维宣传片制作公司