Сообщения «Cout» не отображаются на запущенном консольном приложении c ++ из Unity - PullRequest
0 голосов
/ 30 ноября 2018

В моем Unity Project я запускаю внешнее простое консольное приложение c ++.

Моё консольное приложение c ++:

#include "pch.h"
#include <iostream>

int main(int argc, char *argv[], char *envp)
{
    // Display each command-line argument. 
    int count;
    std::cout << "\nCommand-line arguments:\n";
    for (count = 0; count < argc; count++)
        std::cout << "  argv[" << count << "]   "
        << argv[count] << "\n";

    std::cout << "Hello World!\n"; 
    getchar();
    return 0;
}

Как видите, приложение отображает имяаргументы переданы, и если я запускаю приложение вручную, оно выглядит следующим образом: enter image description here

Но когда я запускаю то же приложение из Unity, консольное приглашение пусто ,Вот как я запускаю приложение c ++ из Unity:

using UnityEngine;
using System;
using System.IO;
using System.Diagnostics;

public class Launcher : MonoBehaviour {

    Process process = null;
    private void Start()
    {
        StartProcess();
    }

    void StartProcess()
    {
        try
        {
            process = new Process();
            process.EnableRaisingEvents = false;
            process.StartInfo.FileName = Application.dataPath + "/ConsoleTestApplication.exe";
            process.StartInfo.Arguments = "1 1 1"; //Without passing arguments, it also appears empty
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardError = true;
            process.Start();
            process.BeginOutputReadLine();

            UnityEngine.Debug.Log("Successfully launched app");
        }
        catch (Exception e)
        {
            UnityEngine.Debug.LogError("Unable to launch app: " + e.Message);
        }
    }
}

Приложение запускается, и появляется окно консоли, совершенно пустое, есть идеи о том, что я делаю неправильно?Спасибо.

...