Comment exécuter le programme console C ++ (qui est un fichier C ++ autonome et non un projet d'application console dans Code :: Blocks) dans ConEmu?

0

Je suis en mesure de changer le terminal par défaut de toutes les applications de la console dans Windows 7 en ConEmu en utilisant cette réponse et c'était vraiment génial. Jusqu'à présent, je créais un projet d' application console C ++ dans Code :: Blocks et, lorsque je "compile et exécute" le projet, il ouvre un terminal ConEmu. Mais lorsque j'ai essayé d'exécuter un seul fichier C ++ autonome (sans créer de projet) dans Code :: Blocks, il ouvre un terminal Windows par défaut, et non le terminal ConEmu comme auparavant.

Comment puis-je changer le terminal par défaut en ConEmu même si je lance un programme C ++ à fichier unique dans Code :: Blocks?

Certains détails connexes sont: (1). J'utilise Code :: Blocks 13.12, (2). J'utilise Windows 7 (3). J'utilise le programme d'installation de ConEmuSetup.151115.exe.

Gaganjot Singh
la source

Réponses:

0

CodeBlocks ignore les exigences relatives au paramètre lpCommandLine, décrites dans la fonction CreateProcess . Il exécute une ligne de commande contenant des espaces sans guillemets. Je considère que c'est un bug de CodeBlocks et qu'il doit être signalé à leurs auteurs. Pour information, il fonctionne comme suit:

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

Pour exécuter CodeBlocks "à l'aide de noms abrégés", exécutez-le à dir /Xpartir de cmd.exe à la racine du C:lecteur et recherchez le nom abrégé de Program Filesou Program Files (x86). Très probablement, vous devez exécuter CB comme suit C:\Progra~1\CodeBlocks\codeblocks.exe.

ConEmu build 151122 introduit une solution de contournement pour ce bogue CB. Mais, il serait préférable de signaler le problème aux auteurs de CB!

Maximus
la source
D'accord. Dans le lien mentionné en question, vous avez dit que cela peut être corrigé par: Réinstallez C: B dans le dossier sans espaces ou exécutez C: B en utilisant des noms abrégés. Que voulez-vous dire par " exécuter C: B en utilisant des noms abrégés " et comment puis-je faire cela?
Gaganjot Singh