Как запустить консольную программу C++ (которая представляет собой отдельный файл C++, а не проект консольного приложения в Code::Blocks) в ConEmu?
Я могу изменить терминал по умолчанию для всех консольных приложений в Windows 7 на ConEmu, используя этот ответ, и это было действительно здорово. До сих пор я создавал проект консольного приложения C++ в Code::Blocks, и когда я "компилировал и запускал" проект, он открывает терминал ConEmu. Но когда я попытался запустить отдельный автономный файл C++ (не создавая проект) в Code::Blocks, он открывает терминал Windows по умолчанию, а не терминал ConEmu, как в предыдущем случае.
Как я могу изменить терминал по умолчанию на ConEmu, даже если я запускаю отдельную файловую программу C++ в Code::Blocks?
Некоторые связанные детали: (1). Я использую Code::Blocks 13.12, (2). Я использую Windows 7, (3). Я использую настройку ConEmuSetup.151115.exe.
1 ответ
CodeBlocks игнорирует требования для параметра lpCommandLine, описанного в функции CreateProcess. Он запускает командную строку, содержащую пробелы без кавычек. Я считаю, что это ошибка CodeBlocks, и об этом нужно сообщать их авторам. Для информации, он запускает следующее:
C:\Program Files\CodeBlocks/cb_console_runner.exe "C:\source\contest.exe"
Чтобы запустить CodeBlocks "используя короткие имена", выполните dir /X
из cmd.exe в корне C:
езжай и ищи короткое имя Program Files
или же Program Files (x86)
, Скорее всего, вы должны запустить CB следующим образом C:\Progra~1\CodeBlocks\codeblocks.exe
,
ConEmu build 151122 представляет обходной путь для этой ошибки CB. Но было бы лучше сообщить о проблеме авторам CB!