[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(二)

简介: [项目配置] 配置Qt函数库和ui界面库的封装并调用的项目

[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目(一)+https://developer.aliyun.com/article/1394490

  1. C++ — 预处理器 — 预处理器定义:配置同上函数库“VisionLibrary”。
  2. 链接器—常规—输出文件$(OutDir)$(ProjectName)D.dll
    链接器—常规—附加库目录:相比配置函数库“VisionLibrary”而言,增加了对函数库的库目录配置(最后一项)
    $(QTDIR)\lib
    $(HALCONROOT)\lib\x64-win64
    $(SolutionDir)Export\vision\lib
  3. 链接器—常规—输入:相比配置函数库“VisionLibrary”而言,增加了对函数库的.lib配置(最后一项)
    qtmaind.lib
    Qt5Cored.lib
    Qt5Guid.lib
    Qt5Sqld.lib
    Qt5Widgetsd.lib
    halconcpp.lib
    VisionLibraryD.lib
  4. 生成事件—后期生成事件:和配置“VisionLibrary”库一样,只是文件夹名称不一样,最后输出:

命令行输入如下:

rd /S /Q "$(SolutionDir)Export\visionUi\include"
md "$(SolutionDir)Export\visionUi\include"
rd /S /Q "$(SolutionDir)Export\visionUi\lib"
md "$(SolutionDir)Export\visionUi\lib"
rd /S /Q "$(SolutionDir)Export\visionUi\bin"
md "$(SolutionDir)Export\visionUi\bin"
xcopy /Y /S "$(ProjectDir)include\*"   "$(SolutionDir)Export\visionUi\include\"
xcopy /Y /S "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)D.lib"  "$(SolutionDir)Export\visionUi\lib\"
xcopy /Y /S "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName)D.dll"  "$(SolutionDir)Export\visionUi\bin\"

🚓上位机测试项目“VisionTestFrame”的添加与配置

  1. 项目的添加:右键解决方案——添加新项目——VisionTestFrame(项目名)——VisionTestFrame(类名)——QMainWindow(基类)
  2. 常规配置如下:
  3. 项目调试—环境配置同上函数库“VisionLibrary”。
  4. 项目C++ — 常规 — 附加包含目录相比配置函数库“VisionLibrary”而言,增加了对函数库的包含路径(后两项)。
    .\GeneratedFiles$(ConfigurationName)
    .\GeneratedFiles
    .
    $(QTDIR)\include
    $(QTDIR)\include\QtCore
    $(QTDIR)\include\QtGui
    $(QTDIR)\include\QtANGLE
    $(QTDIR)\include\QtWidgets
    $(HALCONROOT)\include\halconcpp
    $(HALCONROOT)\include
    $(SolutionDir)VisionLibrary
    $(SolutionDir)VIsionUILibrary
    $(SolutionDir)Export\vision\include
    $(SolutionDir)Export\visionUi\include
  5. C++ — 预处理器 — 预处理器定义
    QT_QML_DEBUG
    QT_CORE_LIB
    QT_GUI_LIB
    QT_WIDGETS_LIB
    UNICODE
    _UNICODE
    WIN32
    _ENABLE_EXTENDED_ALIGNED_STORAGE
    WIN64
  6. 链接器—常规—附加库目录
    $(QTDIR)\lib
    $(HALCONROOT)\lib\x64-win64
    $(SolutionDir)Export\vision\lib
    $(SolutionDir)Export\visionUi\lib
  7. 链接器—输入—附加依赖项
    qtmaind.lib
    Qt5Cored.lib
    Qt5Guid.lib
    Qt5Widgetsd.lib
    halconcpp.lib
    VisionLibraryD.lib
    VisionUILibraryD.lib

🚒总结

至此,Debug平台下函数库、界面库和测试项的添加与配置已经完成,三者的依赖关系和生成顺序如下:

将测试项“VisionTestFrame”设为启动项目

🚛配置中遇到的问题

  1. 配置结束后,编译界面库VisionUILibrary是出现VisionLibrary.cpp(4): warning C4273: “VisionLibrary::VisionLibrary”: dll 链接不一致的问题
    解决:因为我复制的别的项目导出库头文件是这样的

    而我的项目导出库头文件是下面这样的

    所以需要在界面库VisionUILibrary项目中C++ — 预处理器 — 预处理器定义VISIONLIBRARY_EXPORTS更改为VISIONUILIBRARY_LIB,前面已经更改,大家按照前面的配置是对的,只是我自己刚开始不太理解预处理器定义,完全照搬的别的项目,导致出现问题。

🚑Release平台配置与Debug平台配置的一些差别

   以VisionLibrary函数库的配置为例,界面库和上位机项目配置大同小异

  1. 常规
  2. 预处理器定义
  3. 链接器—常规
  4. 命令行

戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。

目录
相关文章
|
6月前
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
|
9月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
299 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
10月前
|
人工智能 自然语言处理 API
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
2849 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
|
9月前
|
前端开发 数据安全/隐私保护 开发者
FirstUI:Deepseek能帮我们做很多事情,而这款开源框架专为开发者设计的开源UI框架,让你的项目加速起飞
嗨,大家好,我是小华同学。今天为大家介绍一个轻量级、响应式的前端UI框架——FirstUI。它提供丰富的组件库,包括按钮、输入框、下拉菜单等,帮助开发者快速构建美观、功能丰富的用户界面。FirstUI的核心理念是“简单、快速、高效”,适合各种Web应用开发,如企业网站、电商平台和个人博客。其体积小、加载快,支持响应式设计,并且易于定制。FirstUI拥有活跃的社区支持,开发者可以轻松找到帮助并分享经验。欢迎关注我们,获取更多优质开源项目和高效工作学习方法。
346 0
|
12月前
|
UED
「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
本篇将带领你实现一个互动性十足的灯光控制小项目,用户可以通过点击按钮来控制灯光的开关。该项目将涉及状态管理、动态图片加载以及按钮交互,是学习鸿蒙应用开发的重要基础。
222 5
「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
947 0
|
6月前
|
开发框架 前端开发 JavaScript
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
208 15
|
6月前
|
编解码 前端开发 Java
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发三
本文介绍了基于声明式UI范式的图形绘制与动画效果实现方法,涵盖绘制图形、添加动画效果及常见组件说明三部分内容。在绘制图形部分,详细讲解了如何通过Circle组件为食物成分表添加圆形标签,以及使用Path组件结合SVG命令绘制自定义图形(如应用Logo)。动画效果部分则展示了如何利用animateTo实现闪屏动画,包括渐出、放大效果,并设置页面跳转;同时介绍了页面间共享元素转场动画的实现方式。最后,文章列举了声明式开发范式中的各类组件及其功能,帮助开发者快速上手构建复杂交互页面。
221 11
|
2月前
|
存储 开发者 容器
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
本文介绍了ArkTS语言中的Class类、泛型、接口、模块化、自定义组件及状态管理等核心概念,并结合代码示例讲解了对象属性、构造方法、继承、静态成员、访问修饰符等内容,同时涵盖了路由管理、生命周期和Stage模型等应用开发关键知识点。
224 1
鸿蒙 HarmonyOS NEXT星河版APP应用开发-ArkTS面向对象及组件化UI开发使用实例
|
5月前
|
JavaScript 前端开发 UED
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发四
本文介绍了Web组件开发与性能优化的相关内容。在Web组件开发部分,涵盖创建组件、设置样式与属性、添加事件和方法以及场景示例,如动态播放视频。性能提升方面,推荐使用数据懒加载、条件渲染替代显隐控制、Column/Row替代Flex、设置List组件宽高及调整cachedCount减少滑动白块等方法,以优化应用性能与用户体验。
214 56

热门文章

最新文章

推荐镜像

更多
  • qt