unity3d — «Cout» сообщения не отображаются на запущенном консольном приложении c ++ из Unity

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

My 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;
}

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

Но когда я запускаю то же самое приложение из 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);
}
}
}

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]