2010-07-13 2 views
3

Я установил C/C++ CDT версию Eclipse. После создания файла HelloWorld.c и получения кода там я получаю сообщение об ошибке «Launch failed. Binary not found».Первая программа C - нужна помощь с eclipse

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

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

2) Я могу построить, но не запустить, я получаю «Launch failed. Binary not found» - идеи?


Нашли ошибку: я никогда не цветовым файл ".c" -.- после его переименования - работает отлично.

ответ

3
  1. Пересмотренный Ответ: Если вы хотите, чтобы избежать написания реального Makefile, вы можете написать что-то вроде этого:

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

Я бы, однако, настоятельно советуют вы серьезно узнать о Makefile. Красота make-файлов заключается в том, что вы можете сначала использовать очень маленькие функции и использовать все больше и больше, как вы продолжаете (как вы видели, писать «фиктивный» файл был очень быстрым). Сначала я предлагаю вам написать нечто более «умное», чем то, что я вам дал. Here's a nice tutorial и пример:

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 (хотя и только если он был обновлен) и так далее. строка ниже правила - это команда для компиляции. Надеюсь, это поможет. Пожалуйста, прочитайте учебник, Makefile важны.

+0

1) как? 2) не получилось, будьте осторожны с новичком – Kovu

+0

@Amir Rachum: Изучение make-файлов - это всегда хорошая идея, но обычно Eclipse пишет makefile для вас. – Philipp

+1

@Philipp IMHO, когда проект достаточно велик, управление make-файлом Eclipse может быть недостаточным. –

1

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

+0

Done allready, он строит поверх MinGW, но выполнить dont work – Kovu

1

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

http://www-scf.usc.edu/~csci410/handouts/make.pdf

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

НКУ -o HelloWorld.exe helloworld.c

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

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

+0

1) Спасибо - где я могу найти командную строку в eclipse, я ее не нашел. 2) сделать проект C -> сделать исходный код C -> main-method with printf() -> build – Kovu

0

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

У меня не было выбрано бинарного парсера, и это, по-видимому, означает, что CDT не может найти ничего, что он распознает как двоичный. В моем случае это означало, что я просто получил сообщение «Launch failed. Binary not found», хотя в конфигурациях run/debug был указан точный двоичный файл, включая полностью квалифицированный путь.

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

Screenshot of selecting binary parser

Смежные вопросы