Wie man ein C ++ - Konsolenprogramm (welches eine eigenständige C ++ - Datei ist und kein Konsolenanwendungsprojekt in Code :: Blocks ist) in ConEmu ausführen?

1019
Gaganjot Singh

Ich kann das Standardterminal aller Konsolenanwendungen in Windows 7 mit dieser Antwort in ConEmu ändern und es war wirklich großartig. Bis jetzt war die Schaffung ich eine C ++ Konsolenanwendung Projekt in Code :: Blocks und wenn ich „kompilieren und ausführen“ das Projekt es öffnet sich ein ConEmu Terminal. Wenn ich jedoch versuche, eine einzelne Standalone-C ++ - Datei in Code :: Blocks zu erstellen (kein Projekt zu erstellen), wird ein Standard-Windows-Terminal geöffnet, nicht das ConEmu-Terminal, wie im vorherigen Fall.

Wie kann ich das Standardterminal in ConEmu ändern, auch wenn ich ein einzelnes Datei-C ++ - Programm in Code :: Blocks ausgeführt habe?

Einige verwandte Details sind: (1). Ich verwende Code :: Blocks 13.12, (2). Ich verwende Windows 7 (3). Ich benutze das ConEmuSetup.151115.exe-Setup.

0

1 Antwort auf die Frage

0
Maximus

CodeBlocks ignoriert die Anforderungen für den Parameter lpCommandLine, die in der Funktion CreateProcess beschrieben werden. Es führt eine Befehlszeile mit Leerzeichen ohne Anführungszeichen aus. Ich halte dies für einen Fehler in CodeBlocks und muss seinen Autoren gemeldet werden. Zur Information wird Folgendes ausgeführt:

C:\Program Files\CodeBlocks/cb_console_runner.exe "C:\source\contest.exe" 

Um CodeBlocks "mit kurzen Namen" auszuführen, führen Sie dir /Xcmd.exe im Stammverzeichnis des C:Laufwerks aus und suchen Sie nach dem Kurznamen Program Filesoder Program Files (x86). Wahrscheinlich müssen Sie CB wie folgt ausführen C:\Progra~1\CodeBlocks\codeblocks.exe.

ConEmu Build 151122 führt eine Problemumgehung für diesen CB-Fehler ein. Aber es wäre besser, den CB-Autoren ein Problem mitzuteilen!

OK. In dem fraglichen Link haben Sie gesagt, dass dies korrigiert werden kann, indem Sie C: B in dem Ordner ohne Leerzeichen neu installieren oder C: B mit kurzen Namen ausführen. Was meinst du mit "** run C: B mit kurzen Namen **" und wie genau kann ich das machen? Gaganjot Singh vor 8 Jahren 0
https://sourceforge.net/p/codeblocks/tickets/261/ Maximus vor 8 Jahren 0