Первая программа на C - нужна помощь с затмением - PullRequest
3 голосов
/ 13 июля 2010

У меня установлена ​​версия Eclipse для C / C ++ CDT. После создания файла HelloWorld.c и получения кода я получаю сообщение об ошибке «Ошибка запуска. Двоичный файл не найден».

Я обнаружил в Google, что в моем Eclipse отсутствует компилятор, и я установил MinGW на свой компьютер и добавил путь к переменным env (протестировал его с помощью "gcc -v" в cmd и успешно).

1) Я могу построить сейчас, но понятия не имею, как сделать MAKEFILE. - Я прочитал 10 уроков, но не понимаю - идеи?

2) Я могу построить, но не запустить, я получаю «Запуск не удался. Двоичный файл не найден» - идеи?


Обнаружил ошибку: я никогда не создавал файл " .c" -.- после его переименования - работает нормально.

Ответы [ 4 ]

3 голосов
/ 13 июля 2010
  1. Исправленный ответ: Если вы не хотите писать настоящий make-файл, вы можете написать что-то вроде этого:

    all:
        gcc *.c -o runme.exe
    
  2. Вам необходимо указать двоичный файл, который выводит gcc (gcc [..] -o <this one>) в настройках запуска (в предыдущем примере он должен указывать на runme.exe). Перейдите к Run -> Run Configurations и в разделе C/C++ Application найдите и найдите runme.exe.

Однако, я бы настоятельно рекомендовал серьезно ознакомиться с make-файлом. Прелесть make-файлов в том, что вы можете сначала использовать очень мало функций и использовать их все больше и больше (как вы видели, написание «фиктивного» файла было очень быстрым). Сначала я предлагаю вам написать что-то более «умное», чем то, что я дал вам выше. Вот хороший учебник и пример:

all: hello

hello: main.o factorial.o hello.o
    g++ main.o factorial.o hello.o -o hello

main.o: main.cpp
    g++ -c main.cpp

factorial.o: factorial.cpp
    g++ -c factorial.cpp

hello.o: hello.cpp
    g++ -c hello.cpp

clean:
    rm -rf *o hello

все то, что компилируется по умолчанию. Перед : стоят имена правил, а после них - зависимости. т. е. для компиляции all необходимо скомпилировать hello (хотя только если она была обновлена) и так далее. строка под правилом - это команда для компиляции. Надеюсь, это поможет. Пожалуйста, прочитайте руководство, важны Makefiles.

1 голос
/ 13 июля 2010

1 Предлагаю вам взглянуть на это:

http://www -scf.usc.edu / ~ csci410 / раздаточные / make.pdf

Это базовый учебник по gmake, и его должно быть достаточно, чтобы вы начали. Но прямо сейчас, для проекта с одним файлом, я предлагаю вам просто пропустить создание Makefiles и выполнение в командной строке:

gcc -o helloworld.exe helloworld.c

И запуск вашего исполняемого файла в командной строке. Вы можете позаботиться о Makefiles позже в вашей кривой обучения.

2 Как вы настроили свой проект?

1 голос
/ 13 июля 2010

Добавьте каталог, в котором находится gcc (C: \ MinGW \ bin или любой другой), в переменную среды PATH и перезапустите Eclipse (важно!).Это процесс в XP: http://vlaurie.com/computers2/Articles/environment.htm. Это должно разобраться.

0 голосов
/ 07 марта 2011

Убедитесь, что у вас выбран двоичный анализатор, когда вы вызываете свойства для проекта.По крайней мере, в моей установке, ни один не был проверен по умолчанию.Мне нужно было проверить парсер Mach-O 64;вам нужно будет выбрать один на основе того, что вы делаете.Я взял это из http://www.thexploit.com/tools/os-x-10-6-64-bit-eclipse-cdt-missing-binaries/

У меня не был выбран двоичный анализатор, и это, кажется, означает, что CDT не может найти ничего, что он распознает как двоичный.В моем случае это означало, что я только что получил сообщение «Ошибка запуска. Двоичный файл не найден», хотя я указал точный двоичный файл, включая полный путь, в конфигурациях запуска / отладки.

не имеет ничего общего со сборками, просто запуск / отладка.Если у вас проблемы со сборкой, это, вероятно, не имеет значения.

Screenshot of selecting binary parser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...