1

我有一个大型 cmake 控制项目,我希望其中一部分使用来自 qt 的 scxml 状态机。我的问题如下:

如何添加 scxml 模块而没有我理解的 pro 文件不适用于 cmake?

就像是:

QT += scxm
4

2 回答 2

1

除了将 Scxml 添加到find_package(...)宏之外,还需要额外的 CMake 步骤来将 Qt SCXML 集成到您的应用程序中:

# Add package
find_package(Qt5 5.10 REQUIRED Core Scxml)

# Link libraries
target_link_libraries(myapp-lib Qt5::Core Qt5::Scxml)

# Process your *.scsml files with Qt SCXML Compiler (qscxmlc)
qt5_add_statecharts(QT_SCXML_COMPILED chart1.scxml chart2.scxml)

# Add to executable
add_executable(myapp main.cpp ${QT_SCXML_COMPILED})
于 2019-01-24T14:41:28.187 回答
0

您应该有一个 Qt 组件列表要加载到您的 CMake 中,只需添加Scxml到列表中即可。

find_package(Qt5 5.9 REQUIRED
             COMPONENTS Core Gui Widgets Xml Concurrent Scxml
)
于 2017-07-11T15:26:54.773 回答