等径圆的外摆线 2023-12-28 11:47 采纳率: 0%
浏览 20

VS2022 的CMAKE项目引入Qt库5.14.1 在#include<QDebug>却无法识别QDebug

VS2022 CMAKE项目引入QT库5.14.1,在CMakeLists.txt,已经使用find_package查找到了库,利用该库的CMAKE变量找到了头文件路径,并且利用target_link_libraries链接到了QT的库。

然而在源文件里面

#include <QDebug>                    //可以跳转到QDebug文件,输入这行代码时Intellisense不能自动补全
#include <qdebug.h>                 //可以直接跳转到qdebug.h文件,输入这行代码时Intellisense能够自动补全

QDebug C++头文件

#include "qdebug.h"                  //无法跳转

CMakeLists.txt 找库文件,添加头文件,链接库文件已经添加了。但是依旧有问题

#--查找QT库的模块--
find_package(Qt5 COMPONENTS Core Gui LinguistTools Network Widgets REQUIRED)                    #c查找QT库
set(Qt5_inc ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})        #QT库的头文件
# 查找QT库的模块
########
#其他代码
########
include_directories(${inc_dir} ${Qt5_inc})        #添加头文件
########
#其他代码
########
#--链接QT库--
target_link_libraries(TMA400 PRIVATE Qt5::Core Qt5::Gui Qt5::Network Qt5::Widgets )        #引入QT的Core Gui Widgets 模块
# 链接QT库

引用QDebug到源文件里面,如下图

img

可以跳转到QDebug文件,输入这行代码时Intellisense不能自动补全
可以直接跳转到qdebug.h文件,输入这行代码时Intellisense能够自动补全
无法跳转到无法从QDebug跳转到qdebug.h文件
这是QDebug不被识别成C++文件且无法跳转到qdebug.h什么原因?

需要在CMAKE中修改什么东西吗?

  • 写回答

1条回答 默认 最新

  • &春风有信 2023-12-28 13:51
    关注

    你的问题似乎是在使用 CMake 构建系统时遇到了 IntelliSense 的问题,特别是在 Visual Studio 中。IntelliSense 是 Visual Studio 的一个功能,它提供代码完成、参数提示、快速信息和其他一些有用的功能。

    首先,关于 #include 无法跳转的问题,这可能是因为 Qt 的 QDebug 是一个宏,而不是一个标准的 C++ 头文件。因此,IntelliSense 无法直接跳转到其定义。而 #include <qdebug.h> 或 #include "qdebug.h" 可以跳转,是因为它们实际上是包含了一个头文件 qdebug.h,这个头文件定义了 QDebug 宏。

    至于 #include "qdebug.h" 无法跳转和未被识别为 C++ 标准头文件的问题,这可能是因为 CMake 没有正确地配置 Qt 的头文件路径。你需要确保在 CMakeLists.txt 文件中正确地设置了 Qt 的头文件路径。

    在 CMake 中,你可以使用 include_directories() 命令来添加头文件路径,例如:

    cmake
    include_directories(${Qt5Core_INCLUDE_DIRS})

    这将把 Qt 的头文件路径添加到你的项目的头文件搜索路径中。

    另外,你可能还需要确保你的项目正确地链接到了 Qt 的库。你可以使用 target_link_libraries() 命令来链接库,例如:

    cmake
    target_link_libraries(your_target Qt5::Core)

    这将把 Qt 的 Core 模块链接到你的目标上。

    总的来说,你需要确保你的 CMakeLists.txt 文件中正确地配置了 Qt 的头文件路径和库链接。如果你已经正确地配置了这些,但仍然遇到问题,那么可能需要检查你的 Visual Studio 设置,看看是否需要启用或配置 IntelliSense 的某些选项。

    评论

报告相同问题?

问题事件

  • 修改了问题 1月4日
  • 修改了问题 1月2日
  • 修改了问题 12月29日
  • 创建了问题 12月28日

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件