[项目配置] 配置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天前
|
人工智能 API Apache
推荐3款开源、美观且免费的WinForm UI控件库
推荐3款开源、美观且免费的WinForm UI控件库
|
1月前
(7)Qt中的自定义槽(函数)
这篇文章介绍了在Qt中如何定义和使用自定义槽函数,包括类成员函数、静态类成员函数、全局函数和lambda表达式作为槽函数的示例,以及使用lambda表达式时的注意事项。
41 2
(7)Qt中的自定义槽(函数)
|
6天前
|
API C# 开发者
基于Material Design风格开源、免费的WinForms UI控件库
基于Material Design风格开源、免费的WinForms UI控件库!
|
1月前
|
编译器
【项目开发】QT简单练习之QQ登录界面模仿
为了进一步加深对QT开发的理解,在学习完基础操作之后要进行一个简单的练习。
|
1月前
|
Linux C# Android开发
分享3款开源、免费的Avalonia UI控件库
分享3款开源、免费的Avalonia UI控件库
125 0
|
2月前
|
搜索推荐 前端开发 C#
推荐7款美观且功能强大的WPF UI库
推荐7款美观且功能强大的WPF UI库
|
3月前
qt 手搓ui
qt 手搓ui
43 3
|
3月前
|
API Android开发
Android项目架构设计问题之选择和使用合适的UI库如何解决
Android项目架构设计问题之选择和使用合适的UI库如何解决
48 0
|
3月前
|
开发者 Android开发 UED
打造流畅应用:深入探索如何在Xamarin项目中选择并实现最佳UI/UX设计的实践指南
【8月更文挑战第31天】在数字化时代,UI/UX设计成为应用成功的关键。Xamarin以高效开发和强大兼容性著称,其设计理念“一次编写,处处运行”需充分适应多平台特性,提供一致体验。选择Xamarin.Forms或结合Xamarin.Native可实现跨平台UI设计;遵循各平台设计指南,保持布局一致性和简洁性;通过用户测试不断优化。最终,结合技术和用户需求,打造美观实用的应用,脱颖而出。
55 0
|
3月前
|
数据可视化 数据挖掘 持续交付
Axure Web端元件库:从Quick UI到500+组件的飞跃
在快速变化的数字世界中,产品设计不仅仅是功能的堆砌,更是用户体验的精心雕琢。原型设计作为产品开发过程中的关键环节,其重要性不言而喻。Axure,作为业界领先的原型设计工具,凭借其强大的交互设计和丰富的功能,赢得了全球设计师和开发者的信赖。而Axure Web端元件库,则是这一平台上的一颗璀璨明珠,它以超过500个精心设计的组件为基础,为设计师们打开了一扇通往高效、高质量原型设计的大门。
152 0