Eclipse CDT: запущенная программа на C ++ ничего не показывает в консоли!Зачем? - PullRequest
14 голосов
/ 12 ноября 2011

Я использую последнюю версию Eclipse с CDT для Windows 64 бит с Cygwin для компиляции кода.

Моя проблема в том, что когда я запускаю любое программное обеспечение c ++ в eclipse, в выходных данных нетconsole.

Я пробовал это:

Отладчик Eclipse CDT не показывает console

и это:

Eclipse CDT Отладочная консоль не отображает вывод программы

Но она не работает.

Ответы [ 9 ]

19 голосов
/ 28 марта 2012

Как отмечают парни из "No Console Output (MinGW, CDT)" * , это возможно (или, по крайней мере, иногда), потому что Eclipse не добавляет PATH к MINGW\bin при запуске исполняемого файла. итак:

В теге «Environment» нажмите «New», установите его как:

  • "Имя: PATH"
  • "Значение: C: \ MinGW \ Bin"

;)

10 голосов
/ 17 мая 2013

Другое решение, которое работает (кроме mlvljr ), - добавление флага -static в:

Проект> Свойства> Сборка C / C ++> Настройки> Настройки инструмента> MinGW C ++ Linker> Разное> Флаги линкера

3 голосов
/ 31 августа 2015

Если все вышеперечисленное не работает, вы можете попробовать это

Вы должны добавить переменную окружения этого проекта, чтобы иметь путь к компилятору MinGW

Перейти в Project-> Properties-> Run / Debug Settings, выбрать файл .exe и нажмите Редактировать В теге Environment нажмите New и установите его следующим образом: Name: PATH Значение: C: \ MinGW \ bin

Если вы используете cygwin, то Значение: c: \ cygwin \ bin

3 голосов
/ 10 февраля 2014

Проект> Свойства> Сборка C / C ++> Настройки> Настройки инструмента> MinGW C ++ Linker> Разное> Флаги компоновщика (add -static)

1 голос
/ 12 ноября 2011

Спасибо за ответы. Я нашел проблему. Это была ошибка из Eclipse.

Я зашел в Справку> Проверить наличие обновлений.

Я установил обновление и теперь оно работает!

1 голос
/ 12 ноября 2011

Убедитесь, что консоль выделена:

Свойства проекта -> Параметры запуска / отладки -> yours.exe -> Правка -> Общие -> Проверить 'Allocate Console'

0 голосов
/ 24 февраля 2017

Я думаю, что эта ночь будет связана с порядком, в котором я установил MinGW и затмение CDT (Helios). Решение (для меня) состояло в том, чтобы перейти в Project -> Properties -> C / C ++ Build -> Settings -> Settings Tool -> MinGW C ++ Linker -> Miscellaneous -> и установить флаги Linker в -static-libgcc -static-libstdc ++. Но мне, кажется, нужно делать это для каждого проекта, поэтому я все еще ищу постоянное исправление.

0 голосов
/ 29 мая 2016

Как ответил Singhak , эту проблему можно «устранить» для каждого проекта отдельно, добавив переменную среды PATH в конфигурацию запуска проекта: «Проект»> «Свойства»> «Параметры запуска / отладки»> (выберите исполняемый файл проекта)> Изменить ..> Среда> Новый ... (Имя: PATH, Значение: путь / к / компилятору / bin).Но вам придется делать это для каждого проекта - я не думаю, что есть способ настроить его на работу для каждого проекта, по крайней мере, я не смог.

Однако, если вы 'Если вы работаете в Windows и у вас установлена ​​MS Visual Studio, вы можете настроить проект с помощью наборов инструментов Microsoft Visual C ++ вместо GCC, и это должно работать каждый раз, как и ожидалось.

0 голосов
/ 16 марта 2016

Я столкнулся с этой проблемой не так давно. Перейдите по этой ссылке , которая предоставляет довольно подробное руководство по настройке всего Однако консоль на Eclipse Mars CDT по-прежнему ничего не показывала. После запуска сгенерированного исполняемого файла из командной строки я столкнулся со следующей ошибкой:

Apparently some path was missing

Итак, учитывая отсутствующий путь, я искал его в главной папке cygwin и добавил в Свойства проекта -> Общие сведения о C / C ++ -> Пути и символы -> Включает GNU C ++ путь к отсутствующей DLL папка: ${CYGWIN_HOME}/usr/i686-pc-cygwin/sys-root/usr/bin. Запустите снова проект, и проблема была решена:

enter image description here

Надеюсь, это кому-нибудь поможет!

...