【问题标题】:Error when adding include folder cmake添加包含文件夹 cmake 时出错
【发布时间】:2018-02-15 15:47:27
【问题描述】:

我正在使用 cmake 创建新项目来配置它。该项目具有库lib1的依赖关系,例如单独编译。

当我像这样添加 lib1 的包含文件夹时,问题就开始了:

include_directories (../lib1/include)

当我启动 make 命令时,它会抱怨说

致命错误:找不到“QSharedData”文件

#include

QSharedData 包含在 lib1 的 .h 之一中。

我该如何解决这个问题? 提前致谢

【问题讨论】:

  • QSharedData 是在头文件中定义的数据结构吗? include 语句应该引用头文件而不是它的内容,例如 #include "../../lib1/headers.h"#include <headers.h>
  • 因此您需要包含包含QSharedData 标头的目录。标头是 QT 库的一部分。我建议您阅读您使用的项目的文档;它应该描述如何正确使用它。
  • QSharedData 是 Qt 框架中定义的头文件。它确实存在。实际上,当我编译我的库时,它使用该头文件。我的问题是我是否需要在我的项目中添加它的路径,尽管我没有直接使用它

标签: qt cmake header-files dependency-management include-path


【解决方案1】:

您绝对应该遵循 Qt 的 cmake 说明 (https://doc.qt.io/qt-5.10/cmake-manual.html) 并使用他们的 cmake 包,即

find_package(Qt5Core)
...

Qt cmake 包负责确定和设置所需的包含目录等。

【讨论】:

    猜你喜欢
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 2023-03-24
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多