vs2019与QT、VTK、PCL问题汇总

本文总结了在VS2019中使用Qt时遇到的问题,如新建Qt Widget项目后打开UI文件报错,以及如何解决。此外,还涉及到了在QT6环境下编译CMakeLists文件,集成VTK和PCL库的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、VS2019安装Qt tool后,点击Qt wdiget新建项目,双击form中的ui文件弹出Qt时提示:

 解决方法:点击ui,选择打开方式,首先尝试吧Qt design删除,如果删除不掉,

选择添加,找到Qt安装版本中的安装路径下的bin文件中的\msvc2019_64\bin\designer.exe
默认友好名字为Qt Designer,并设置为默认值,问题解决!

二、QT6编译QT的cmakeList文件

cmake_minimum_required (VERSION 3.9 FATAL_ERROR)

project      (pcl-visualizer)
find_package (Qt6Widgets)
find_package (VTK REQUIRED)
find_package (PCL 1.12.0 REQUIRED)

QT6_WRAP_CPP (project_HEADERS_MOC   ${project_HEADERS})
QT6_WRAP_UI  (project_FORMS_HEADERS ${project_FORMS})

include_directories         (${QT_USE_FILE})

### 配置概述 为了实现 Visual Studio 2019PCL (Point Cloud Library) 和 Qt 5.15.2 及 VTK 9.3 的集成,需遵循一系列特定的配置步骤来确保各个组件能够协同工作。此过程涉及多个工具链和依赖项的正确设置。 ### 准备阶段 #### 安装必要的软件包 - **CMake**: 使用版本不低于 3.22.2 来管理项目构建流程[^3]。 - **Qt 5.15.2**: 确认已通过官方渠道安装并设置了环境变量以便于后续操作[^4]。 - **VTK 9.3.x**: 获取源码并通过 CMake 进行编译安装,建议开启 `Module_vtkGUISupportQt` 支持以兼容 Qt 应用程序开发需求。 #### 下载编译 PCL 下载最新稳定版 PCL 源代码,并利用 CMake 工具指定合适的选项进行本地化定制编译: ```bash git clone https://github.com/PointCloudLibrary/pcl.git pcl_source cd pcl_source && mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ -DWITH_QT=ON \ -DVTK_DIR=<path_to_your_VTK_build_directory> \ -DPCL_ENABLE_VISUALIZATION=ON \ -DPCL_ENABLE_MODELER=ON \ -DPCL_ENABLE_TRACKERS=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local/ make -j$(nproc) sudo make install ``` 上述命令假设读者熟悉 Linux 或 macOS 平台下的 shell 命令,在 Windows 上则应替换为相应的 PowerShell 脚本或直接在 VS 开发环境中执行相应功能等效的操作。 对于 Windows 用户来说,推荐采用如下方式代替 Makefile 构建系统: ```powershell $env:CMAKE_GENERATOR="Visual Studio 16 2019" & cmake.exe ` -DCMAKE_BUILD_TYPE=Release ` -DBUILD_SHARED_LIBS=ON ` -DWITH_QT=ON ` -DPCL_ENABLE_VISUALIZATION=ON ` -DPCL_ENABLE_MODELER=ON ` -DPCL_ENABLE_TRACKERS=ON ` -DCMAKE_INSTALL_PREFIX=D:\PCL_Install_Folder Start-Process msbuild.exe "-m -p:Configuration=Release .\build\PCL.sln" ``` 这段脚本同样适用于其他基于 MSBuild 的 IDE 如 Rider 或者 Jetbrains Gateway。 ### 创建新工程 启动 Visual Studio 2019 后创建一个新的 C++ 控制台应用程序作为起点。接着按照以下指导调整项目属性使之适应所选框架和技术栈的要求。 #### 设置全局宏定义和其他预处理器指令 进入项目的 "属性页" -> "C/C++" -> "预处理器": - 添加 `_HAS_ITERATOR_DEBUGGING=0`, `-DNDEBUG` 编译优化标志; - 将 `QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB` 加入到额外包含列表中以启用 Qt 功能模块支持; - 对于 PCL 特定部分,则追加类似于 `EIGEN_USE_MKL_ALL;FLANN_STATIC;BOOST_ALL_NO_LIB` 此类有助于提高性能表现的关键字声明。 #### 更新链接器输入 转至 "链接器" -> "输入", 修改子节点内的字段值: - 把所有必需第三方静态库(.lib 文件)路径填入 “附加依赖项” 文本框内; - 若存在跨平台移植考量的话, 则还需考虑不同操作系统间差异化的动态加载机制. #### 自动发现外部资源位置 借助 vcpkg 包管理器简化依赖关系处理逻辑的同时也降低了手动维护成本。只需简单几步就能让整个解决方案自动识别所需头文件及导入库的位置信息而无需硬编码绝对地址。 ```cpp #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main(int argc, char** argv){ QCoreApplication app(argc,argv); // Your code here return app.exec(); } ``` 以上展示了最基础的应用入口函数模板结构,实际业务场景下可根据具体需求灵活扩展补充更多特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值