Ответ 1
Я нашел ответ: бинарные парсеры, настроенные в eclipse, были неправильными. Добавление правильного бинарного парсера в Project → Properties → C/С++ Build → Settings решает проблему.
Я пытаюсь отлаживать С++-программу в Eclipse Indigo. Проект использует autotools/configure (и соответствующий плагин) в качестве системы сборки.
После успешной сборки я щелкнул правой кнопкой мыши по двоичному в браузере проекта и выбрал "Debug As". Затем я использовал браузер файлов для выбора двоичного файла. Нажав "Debug", вы откроете диалоговое окно, в котором говорится, что "программа не является признанным исполняемым файлом".
Любые идеи?
Я нашел ответ: бинарные парсеры, настроенные в eclipse, были неправильными. Добавление правильного бинарного парсера в Project → Properties → C/С++ Build → Settings решает проблему.
Если вы используете libtool
в своем проекте, то, как выглядит двоичный файл, на самом деле может быть оберткой script, используемой для установки LD_LIBRARY_PATH
и так далее, перед выполнением реального бинарного файла (который хранится в .libs
). Возможно, это может привести к сбою Eclipse, но я не уверен, как вам следует это исправлять.
Кажется, есть немного документации о Eclipse CDT и libtool
в Интернете, которые могут иметь информацию, которая вам нужна: http://www.freerdp.com/wiki/doku.php?id=eclipse#debug_configuration
Из снежного барса OSX on gcc, похоже, по умолчанию создает 64-битные исполняемые файлы. И те не будут признаны в Eclipse взамен. Чтобы решить эту ошибку, вам нужно явно настроить вашу архитектуру на i386.
Введите свойства проекта и добавьте параметр командной строки "-arch i386" для каждого С++-компоновщика, компилятора С++ и компилятора C. После чистой сборки вам должно быть ясно, что нужно снова отлаживать. В параметрах Linker обязательно установите NOT это как опция -Xlinker.