gpt4 book ai didi

c# - 从 C# 运行 C++ Qt 应用程序

转载 作者:行者123 更新时间:2023-11-28 03:14:18 26 4
gpt4 key购买 nike

简介:我有qt-opencv-multithreaded - 用 C++ 编写的 Qt/OpenCv 应用程序(在 Windows 上运行)。但我还有另一个用 C# 编写的应用程序。

C++ 应用分析视频并识别机器人(位置、旋转)。并将其存储在 ProcessingThread 中的变量中。C# 应用程序接收这些值并决定机器人应该移动到哪里。

我决定使用 C# 项目作为启动项目。我尝试为 qt-opencv-multithreaded 创建 C++/cli 包装器。

问题现在我有两个问题:

  1. 如何从另一个项目运行 Qt 应用程序?我试图将 include MainWindow.h 添加到包装器项目并从中创建实例。我还将 qt-opencv-multithreaded 目录添加到“其他包含目录”,但它也需要 qt 目录,我担心这不是正确的方法。那我应该怎么做呢?

  2. 我知道我需要使用包装器。但是如何将处理线程中存储在 C++ 项目机器人列表中的数据发送到 C# 项目? (其中机器人包括 cv::Point2i position 和 cv::Point2i rotation 以及其他一些不重要的内部类)我试图将值“伪序列化”为字符串,将其发送到 C#,然后将其“反序列化”为准备好的对象。但这似乎有点不对劲。有没有简单的方法可以满足我的需求?

谢谢

最佳答案

  1. 如果您想将其作为独立进程运行,C# provides facilities为此。

  2. 如果您想从 C# 调用 C++ 代码的各个函数,请查看 P/Invoke

关于c# - 从 C# 运行 C++ Qt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17427287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com