我有一个 Visual C 控制台应用程序(在 VC++2008EE 中创建),我需要向其中添加 GUI。
一个想法是将控制台应用程序作为子进程调用,并使用标准输入和标准输出与其进行通信。我尝试使用 Python 子进程模块来做到这一点 - 但它死锁了(可能是因为我的控制台应用程序连续运行)。据我了解http://www.python.org/dev/peps/pep-3145/现在不可能将连续运行的控制台应用程序与 python 子进程模块集成。
另一个想法(可能更直接)是向这个控制台应用程序项目添加一个表单。但当我尝试这样做时,VS 将项目转换为具有“公共(public)语言运行时支持”的项目,无论它意味着什么,广告表单,表单的 cpp 文件 - 并且它不再编译说:
Command line error D8016 : '/MTd' and '/clr' command-line options are incompatible
error BK1506 : cannot open file '.\Debug\Form_TEST.sbr': No such file or directory
不知道什么意思。我从未接触过 C++,但我使用过 C 和 Python 一段时间。
你会推荐什么?
最佳答案
如果您拥有控制台应用程序的代码,请不要尝试使用输入和输出流与其进行对话。将控制台应用程序的逻辑提取到库中,然后从您选择的 GUI 调用该库 - 来自 C# 的 Windows.Forms、Python GTK、普通 GTK。
关于C++ 或 Python(也许是其他)为 C 中的控制台应用程序创建 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109565/