【问题标题】:Integrating and running OpenDDS with QTCreator使用 QTCreator 集成和运行 OpenDDS
【发布时间】:2019-09-18 18:07:26
【问题描述】:
我已经按照提供的配置和安装文档安装了最新版本的OpenDDS。
我可以用终端完美地运行 opendds 示例。
我需要将 OpenDDS 与 QT 集成,因为 OpenDDS 支持 CMake
我尝试在 qt 中为我得到的 messenger_1 和 messeger_2 示例加载 CMakeList.txt,未知 CMake 命令“OPENDDS_TARGET_SOURCE”
我也无法运行 IShape 示例。
【问题讨论】:
标签:
c++
qt-creator
opendds
【解决方案1】:
这很可能意味着 CMake 没有找到 OpenDDS 包文件。
CMake 读取 CMake 变量 CMAKE_PREFIX_PATH 并以此扩展其默认包搜索路径。默认情况下,Qt Creator 将其设置为您的 Qt 安装路径(这很好,因为您想使用 Qt),但要使用 OpenDDS,您还需要将其指向其源/安装路径(请参阅OpenDDS CMake documentation)。
您可以向CMAKE_PREFIX_PATH 添加多个路径,在Windows 上以; 分隔,在Linux/macOS 上以: 分隔。
在 Qt Creator 中,CMAKE_PREFIX_PATH 设置在套件的 CMake Configuration 部分中。所以:
- 打开“选项 > 套件 > 套件”并选择您用于项目的套件
- 向下滚动到
CMake Configuration,然后单击Change
- 找到
CMAKE_PREFIX_PATH 行并将其更改为类似
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX};C:\path\to\OpenDDS 或者如果您使用的是 Linux/macOS
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX};/path/to/OpenDDS
之后您可能需要关闭并重新打开项目(但可能不需要)。