Я использую Eclipse Juno с CDT на Macbook 2007 под управлением Snow Leopard. У меня есть два симптома:
Я потратил часы на поиск в Google для ответа, достаточно долго, чтобы убедиться, что эти два симптома свидетельствуют о любом количестве проблем, о которых сообщалось в течение не долгого десятилетия без адекватного разрешения. Это проблема прямо сейчас, потому что через десять лет должно было быть более чем достаточно входных данных, чтобы обеспечить одну процедуру устранения неполадок где-нибудь, которая шаг за шагом проходит шаг за шагом по устранению всех возможных причин.
Вместо этого в течение нескольких часов я читал о множестве людей, многие из которых решили свою конкретную проблему, но все они, похоже, должны были сделать что-то немного другое, чтобы добраться туда.
Это не должно быть так сложно решить. В частности, в таких случаях, как mine [но я не единственный], когда в представлении «Консоль» отображается сборка без ошибок, пользователь может скопировать двоичный файл [который Eclipse странно говорит, что он не может найти] на рабочем столе и запустить его без любые проблемы либо с терминалом Finder, либо с терминалом bash.
Все это, по-видимому, довольно решительно указывает на отсутствие адекватных индикаторов в двоичном парсере Mach0 64, который должен быть спроектирован так, чтобы точно сказать, что ему нужно, чтобы он не видел.. p >
По общему признанию, это усугубляется в случае MacBooks, таких как мои, которые работают на 64-битной ОС [Snow Leopard] на 64-битном процессоре, который, к сожалению, производитель заблокировал с 32-битным ядром загрузки. Но, быть предупрежденным, я уже пробовал -arch i386 g++ switch и переливание g++ на g++ — 4.0 без каких-либо изменений в симптомах.
ДОБАВЛЕНИЕ ДОБАВЛЕНО 10/07/2012:
Я добавляю этот контрольный список в надежде прояснить путь для, несомненно, многих других, которые зададут этот вопрос в ближайшие годы. Этот способ отражает то, что я нашел необходимым при использовании Eclipse Juno с Mac, использующим Snow Leopard:
1) Перейдите в Preferences- > C/С++ → Мастер создания CDT Project и в разделе Preferred Toolchains убедитесь, что для всех типов исполняемых проектов установлено значение MacOSX GCC.
2) Это большой. Мне удалось получить папку Binaries в Project Explorer и, следовательно, иметь возможность запускать проект после его создания, используя имя проекта, которое не содержит точек [‘.’]. Это я узнал из другого ответа здесь, отредактированного через несколько часов после моего предыдущего сообщения. Это требование легко пропустить, следовательно, общее, особенно если вы работаете с Eclipse, но только с другими языками, потому что в учебниках для других языковых плагинов (например, с PyDev или для Java) вы часто создаете проекты с точками в имени. Если вы разработали эту привычку с другими языками, сломайте ее при использовании CDT для C/С++. Однако следует предупредить, что недостаточно просто щелкнуть правой кнопкой мыши и переименовать существующее имя проекта на этот раз, не используя точки. Самый простой способ — удалить старый проект и создать новый с именем без точек.
3). Многие веб-сайты предупреждают вас, что вы либо используете компилятор -arch i386, либо изменяете ссылки для /usr/bin/gcc и/usr/bin/g++, указывая на gcc-4.0 и g++ — 4.0 вместо gcc-4.2 и g++ — 4.2. Я создал bash script, чтобы облегчить переключение туда и обратно и исследовать, если это необходимо. Это не было, по крайней мере, не с моим Macbook. Основываясь на том, что я прочитал на одном сайте у разработчика Mach-O, я подозреваю, что текущая версия Mach-0 64 идет в обоих направлениях. Это хороший переход к…
4) В свойствах проекта, а не в настройках, перейдите в C/С++ Build- > Settings и в разделе Binary Parsers убедитесь, что параметр Mach-O 64 Parser установлен. Убедитесь, что этот, а не устаревший парсер Mach-O, проверен.
5) На этом этапе после создания проекта в Project Explorer должно быть очевидно несколько вещей:
6) Теперь в папке проекта должна быть папка Binaries.
7) Внутри этой папки Binaries теперь должен быть ваш исполняемый файл. Он должен иметь [x86_64/le] рядом с ним, если, как и я, ваш Mac эффективно 32-битный. Сейчас не лучшее время, чтобы попасть в путаную тему о том, эффективен ли ваш Mac 32-битный или 64-битный. Если вы не знаете, и много людей не потому, что Apple действительно запутывает, посмотрите небольшое приложение, которое можно загрузить с http://www.ahatfullofsky.comuv.com/English/Programs/SMS/SMS.htmlкоторый расскажет вам, что такое истина. Это бесплатно, но «цена» заключается в том, что вам нужно прокрутить объявления в верхней части страницы, отражающие политическое расположение программиста.
qaru.site
С раннего утра я не смог скомпилировать любые C-программы в Eclipse, поскольку он не будет создавать необходимые двоичные файлы, когда я построить проект, на самом деле он вообще не создаст папку с двоичными файлами. Я пробовал все, что я видел здесь, чтобы попытаться исправить это, и это только ухудшилось. Вот что я пытался до сих пор, и результаты:
С «Launch Failed. Binary Not Found.» Snow Leopard and Eclipse C/C++ IDE issue, в терминале:
cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++
Это должно было изменить путь к 32-разрядной GCC 4.0 из 64-битных 4.2. После этого, однако, у меня была серьезная проблема: я уже не имел никакого типа НКУ, о чем свидетельствует тот факт, что, когда я назвал
gcc -v
в терминале, он вернулся:
-bash: gcc: command not found
В попытаться сделать все правильно, я повторно загрузил инструменты командной строки из Xcode и переустановил их, а Xcode подтвердил, что они действительно установлены. Несмотря на это, вызов gcc -v все равно возвращен -bash: gcc: команда не найдена. После повторения этого процесса я получил тот же результат, который заставляет казаться, что я не могу установить/найти компилятор c вообще! Также кажется, что двоичные файлы для предыдущих проектов C, которые работали, когда все было прекращено после этого.
Я также попытался:
Переход к проекту> Свойства> C/C++ Построить> Настройки> Бинарные парсеры: и убедившись, что Mach-O 64 Parser был выбран.
Редактирование в разделах Разное MacOS XC Linker и GCC C компилятор флаги TextBox держать «-arch i686»
Ничего из этого не работал …
Я теперь в потеря и действительно застряли. Если кто-то может помочь, он будет очень признателен.
Спасибо!
stackoverrun.com
Не вопрос, я только что просмотрел интернет в поисках решения этой проблемы и думал, что поделюсь им с хорошими людьми SO. Я поставлю его в простых выражениях, чтобы он был доступен для newbs.:) (Извинения, если это не то место — просто пытайтесь быть полезными.)
Эта проблема возникает почти у любого пользователя OS X Snow Leopard, который пытается использовать Eclipse C/С++ IDE, но особенно раздражает людей (таких как я), которые использовали Eclipse C/С++ IDE в Leopard, и были больше не могут работать с Eclipse при их обновлении. Проблема возникает, когда пользователи идут на сборку/компиляцию/связывание своего программного обеспечения. Они получают следующую ошибку:
Ошибка запуска. Двоичный не найден.
Кроме того, ветвь «двоичные файлы» в окне проекта слева просто несуществует.
ПРОБЛЕМА: это то, что GCC 4.2 (сборник компиляторов GNU), который поставляется с Snow Leopard, компилирует двоичные файлы в 64-битных по умолчанию. К сожалению, компоновщик, который использует Eclipse, не понимает 64-битные двоичные файлы; он считывает 32-битные двоичные файлы. Здесь могут быть и другие проблемы, но, короче говоря, они достигают высшей точки в том, что не генерируется двоичный код, по крайней мере, не тот, который Eclipse может читать, что переводит в Eclipse, не обнаруживая двоичные файлы. Отсюда ошибка.
Одним из решений является добавление флага -arch i686 при создании файла, но при этом вручную каждый раз он становится раздражающим. К счастью для нас, Snow Leopard также поставляется с GCC 4.0, который по умолчанию составляет 32 бита. Поэтому одним из решений является просто связать это как компилятор по умолчанию. Так я это сделал.
РЕШЕНИЕ: GCC находятся в /usr/bin, который обычно является скрытой папкой, поэтому вы не можете увидеть его в Finder, если вы явно не укажете системе, что хотите видеть скрытые папки. В любом случае, вы хотите перейти в папку /usr/bin и удалить путь, который связывает команду GCC с GCC 4.2 и добавить путь, который связывает команду GCC с GCC 4.0. Другими словами, когда вы или Eclipse пытаетесь получить доступ к GCC, мы хотим, чтобы команда перешла к компилятору, который по умолчанию строит по 32 бита, чтобы компоновщик мог читать файлы; мы не хотим, чтобы он перешел к компилятору, который компилируется в 64 бита.
Лучший способ сделать это — перейти к приложениям/утилитам и выбрать приложение под названием Terminal. Появится текстовое приглашение. Он должен сказать что-то вроде «(Имя компьютера): ~ (Имя пользователя) $» (с пробелом для ввода пользователем пользователя в конце). Чтобы выполнить указанные выше задачи, необходимо ввести следующие команды, введя каждый из них в последовательности VERBATIM и нажать enter после каждой отдельной строки.
cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.0 cc
ln -s gcc-4.0 gcc
ln -s c++-4.0 c++
ln -s g++-4.0 g++
Как и я, вы, вероятно, получите сообщение об ошибке, в котором говорится, что у вас нет прав на доступ к этим файлам. Если это так, попробуйте вместо этого следующие команды:
cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++
Судо может запросить пароль. Если вы никогда не использовали sudo раньше, попробуйте просто нажать enter. Если это не сработает, попробуйте пароль для своей основной учетной записи администратора.
ДРУГИЕ ВОЗМОЖНЫЕ РЕШЕНИЯ Возможно, вы сможете вводить переменные build в Eclipse. Я пробовал это, но об этом я не знаю. Если вы хотите это почувствовать, вам, вероятно, понадобится флаг -arch i686. Серьезно, GCC-4.0 работал у меня все это время, и я не вижу причин для переключения сейчас. Возможно, есть способ изменить значение по умолчанию для самого компилятора, но еще раз, я не знаю достаточно об этом.
Надеюсь, что это было полезно и информативно. Хорошее кодирование!
qaru.site
Я установил плагин Eclipse CDT, а также следующие пакеты:
Я также добавил пути в свой bin в переменной среды PATH. Даже тогда я не могу скомпилировать и запустить любую пробную программу в Eclipse.
Как я могу это исправить? Спасибо за вашу заботу.
Я даже столкнулся с этой ошибкой и много искал, чтобы исправить ситуацию. К счастью, я сам это понял.
Ниже перечислены то, что вам нужно, чтобы убедиться, что они установлены:
Окно> Настройки> C / C ++> Новый мастер проекта CDT> Проект Makefile> Двоичные парсеры
a) Установите его в PE Parser для Windows, если вы находитесь в windowsх.
b) Установите его в Cygwin PE Parser, если вы используете Cygwin
c) Установите его в парсер Elf, если вы используете ubuntu
Окно> Настройки> C / C ++> Сборка> Окружение
Теперь нажмите «выбрать» и выберите переменную «Путь», чтобы добавить переменные пути в Eclipse.
Теперь все это сделано!
Все, что вам нужно сделать, это написать тестовую программу и нажать Ctrl + B (создать все, есть кнопка в строке меню), после чего нажмите «Выполнить».
После завершения настройки. Чтобы project --> build all
затмения project --> build all
или Ctrl + B, затем затмение автоматически создаст двоичные файлы и другие материалы, которые теперь запускают ваш проект
В моем случае
Теперь вы можете видеть, что это будет работать нормально.
Эта проблема произошла со мной. Я обнаружил, что используемый мною антивирус проверяет двоичный файл как трояна и отключает Eclipse от его успешного создания. Вам нужно отключить режим автоматической защиты, затем выполнить проект и запустить.
Просто случилось со мной, и это было немного глупо.
Eclipse не обнаружил ошибок, но, видимо, в окне консоли был один.
Дважды проверьте, что там все в порядке.
Такая же проблема, но в Mac OS на Eclipse Kepler. Исправлена следующая конфигурация
Щелкните правой кнопкой мыши project-> properties-> C / C ++ General-> Run / Debug Settings.
Я не видел никакой конфигурации запуска. Итак, я создал новый и ввел следующие записи. Проблемы – это имя приложения :-). Помните, что это будет работать только для проекта Debug, а не для Release, или вам придется снова обновить настройку сборки. Надеюсь это поможет.
добавьте сторонние библиотеки, если в случае, если вы пытаетесь скомпилировать проект OPEN SANKORE в других проектах, попробуйте установить сторонние библиотеки в linux
sudo apt-get install zlib1g-dev libjpeg62-dev libtiff4-dev libmng-dev libpng12-dev libdirectfb-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libpulse-dev libaudio- dev libasound2-dev libfreetype6-dev libfontconfig1-dev libts-dev libcups2-dev libdbus-1-dev libglib2.0- dev libgtk2.0-dev libx11-dev libxext-dev libxcursor-dev libxfixes-dev libxrandr- dev libxrender-dev libxv-dev libxinerama-dev libxi-dev libsm-dev libssl-dev libphonon-dev libt1-dev libpaper-dev
Я столкнулся с той же проблемой и попробовал выше методы, но не использовал, и когда я попытался выполнить в командной строке, он дал мне ошибку «Приложение не запущено должным образом ….», а затем я попытался с кодовым блоком, который дал мне «Приложение не запущено должным образом …” ошибка. Затем я загрузил MinGW с http://www.equation.com/ Он начал работать
Даже я столкнулся с подобной проблемой, и причина этой проблемы довольно проста в том, что компилятор не смог получить двоичный файл вашего письменного кода.
Так где же ваша ошибка?
Ответ: что-то не так в процессе установки eclipse. Да, вы не установили его правильно
Вот решение
Во-первых, никто не знает, где дефект в процессе установки, даже если вы этого не знаете.
и вот учебник «Как правильно установить eclipse».
Как правильно установить Eclipse в Windows для C и C ++
Поверьте мне, посмотрев это, вы обнаружите, что ваша ошибка и бинарный файл будут найдены вашим компилятором.
Наблюдайте за этим 8-минутным видео, это только решение, которое я нашел после 7-8 дней напряженной работы.
У меня была такая же проблема «двоичный не найден», и я пробовал все решения, но, к сожалению, ничего не получилось. Я пробовал вещи и узнал, что когда я переключил свою текущую инструментальную цепочку (щелкните правой кнопкой мыши по настройке кликов проекта -> c / c ++ build-> tool chain editor) Перекрестите GCC в Cygwin GCC, очистите все все, и угадайте, что? Я могу бежать!
Я знаю, что это старый пост, но у меня была одна и та же проблема, и ничто из того, что я нашел в Интернете, не работало, ни решения на этом посту.
Мне удалось исправить это, изменив построитель по умолчанию из CDT Internal в GNU Make, щелкнув правой кнопкой мыши проект> Свойства> C / C ++ Build> Редактор цепочки инструментов> Текущий строитель> GNU Make Builder.
Надеюсь это поможет
Выберите FCC и CDT как создатель по умолчанию для проекта. Это может помочь вам решить проблему. Кстати, я также рекомендую вам использовать программу Geany. Он работает нормально. Он готов использовать только установку gcc через MinGW.
compute.bilee.com
Я знаю, что есть несколько сообщений об этом уже, но я действительно не могу понять это вообще.
Я загрузил Eclipse с веб-сайта (Eclipse для C++), и он загрузил Eclipse mars и т. Д. Я попытался использовать пример проекта hello world, чтобы увидеть, работает ли он, и я продолжаю получать Launch failed. Двоичная ошибка не найдена.
Я скачал XCode (не знаю почему, но я читал, что мне нужно, что для GCC или что-то) Я использую GCC MacOS, а также попробовали другой GCC, но и дать мне та же ошибка
Кто-то пожалуйста, помогите мне и спросить у меня каких-либо деталей, мне нужно, чтобы обеспечить …
Makefile …
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include src/subdir.mk
-include subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: lolplz
# Tool invocations
lolplz: $(OBJS) $(USER_OBJS)
@echo 'Building target: [email protected]'
@echo 'Invoking: Cross G++ Linker'
g++ -o "lolplz" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: [email protected]'
@echo ' '
# Other Targets
clean:
-$(RM) $(CC_DEPS)$(C++_DEPS)$(EXECUTABLES)$(OBJS)$(C_UPPER_DEPS)$(CXX_DEPS)$(C_DEPS)$(CPP_DEPS) lolplz
[email protected] ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets
stackoverrun.com
Я очень обеспокоен, так как это не должно причинять мне такую головную боль. Я загрузил последний Eclipse Indigo и все Плагины CDT C ++ для MAC OS X 10.7.1 /
После перезагрузки после установки вышеуказанных плагинов CDT я разработал простое приложение «hello world» c ++ и попробовал запустить приложение «Запуск неудачен. Binary not found». сообщение об ошибке. Я прочитал несколько исправлений, но никто не работал. Я попытался добавить флаг -arch i386 в компоновщик и команды компилятора, но пока не повезло.
Кто-нибудь успешно получил Eclipse C ++, работающий на 10.7.1 ?????? Это дует мой разум. Я могу просто написать одну и ту же программу в VIM и скомпилировать ее просто через терминал и выполнить просто отлично. ECLIPSE НЕ ХОТИТЕ ИГРАТЬ.
Я буду очень признателен всем, кто может помочь !!!!!
РЕДАКТИРОВАТЬ: выход компилятора
**** Build of configuration Debug for project HelloWorld ****
make all Building file: ../main.cpp
Invoking: GCC C++ Compiler g++ -I/Developer/SDKs/MacOSX10.6.sdk/usr/include -O0 -g3 -Wall -c -fmessage-length=0 -arch i386 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp
Building target: libHelloWorld
Invoking: MacOS X C++ Linker g++ -arch i386 -dynamiclib -o "libHelloWorld" ./main.o
Finished building target: libHelloWorld
**** Build Finished ****
Я использую Eclipse Juno с CDT на Macbook 2007 под управлением Snow Leopard. У меня есть два симптома:
Я много часов искал в Google для ответа, достаточно долго, чтобы убедиться, что эти два симптома указывают на любое количество проблем, о которых сообщалось в течение не совсем десятилетия без адекватного разрешения. Это проблема, потому что через десять лет должно было быть более чем достаточно входных данных, чтобы обеспечить одну процедуру устранения неполадок где-нибудь, где шаг за шагом проходит пользователь, устраняя все возможные причины.
Вместо этого часами я читал о множестве людей, многие из которых решили свою конкретную проблему, но все они, похоже, должны были сделать что-то немного другое, чтобы добраться туда.
Это не должно быть так трудно разрешить. В частности, в таких случаях, как mine [но я не единственный], когда в представлении «Консоль» отображается сборка без ошибок, пользователь может скопировать двоичный файл [который Eclipse странно говорит, что он не может найти] на рабочем столе и запустить его без любые проблемы либо из Finder, либо с терминала терминала bash.
Все это, кажется, указывает довольно решительно на отсутствие адекватных показателей в двоичном парсе Mach0 64, который должен быть разработан, чтобы сообщить нам в точку что ему нужно, чего он не видит ,
По общему признанию, это усугубляется в случае MacBooks, таких как мои, которые работают на 64-битной ОС [Snow Leopard] на 64-битном процессоре, который производитель, к сожалению, усугубляется 32-битным ядром загрузки. Но, быть предупрежденным, я уже пробовал -arch i386 g ++ switch и переливание g ++ на g ++ — 4.0 без каких-либо изменений в симптомах.
ДОБАВЛЕНО ДОБАВЛЕНО 10/07/2012:
Я добавляю этот контрольный список в надежде выяснить путь для, несомненно, многих других, которые зададут этот вопрос в ближайшие годы. Этот способ отражает то, что я нашел необходимым при использовании Eclipse Juno с Mac, использующим Snow Leopard:
1) Перейдите в раздел «Настройки -> C / C ++ ->« Мастер создания CDT »и в разделе« Предпочтительные инструментальные узлы »убедитесь, что для всех типов исполняемых проектов установлено значение« MacOSX GCC ».
2) Это большой. Мне удалось получить папку Binaries в Project Explorer и, следовательно, иметь возможность запускать проект после его создания, используя имя проекта, которое не содержит точек [‘.’]. Это я узнал из другого ответа здесь, отредактированного через несколько часов после моего предыдущего сообщения. Это требование легко пропустить, следовательно, общее, особенно если вы работаете с Eclipse, но только с другими языками, потому что в учебниках для других языковых плагинов (например, с PyDev или для Java) вы часто создаете проекты с точками в имени. Если вы разработали эту привычку с другими языками, сломайте ее при использовании CDT для C / C ++. Однако следует предупредить, что недостаточно просто щелкнуть правой кнопкой мыши и переименовать существующее имя проекта на этот раз, не используя точки. Самый простой способ — удалить старый проект и создать новый с именем без точек.
3) Есть много веб-сайтов, предупреждающих вас о том, что вы либо используете компилятор -arch i386, либо изменяете ссылки для / usr / bin / gcc и / usr / bin / g ++, указывая на gcc-4.0 и g ++ — 4.0 вместо gcc-4.2 и g ++ — 4.2. Я создал сценарий bash, чтобы облегчить переход туда и обратно и исследовать, если это необходимо. Это не было, по крайней мере, не с моим Macbook. Основываясь на том, что я прочитал на одном сайте у разработчика Mach-O, я подозреваю, что текущая версия Mach-0 64 идет в обоих направлениях. Это хороший переход к …
4) В свойствах проекта, а не в настройках, перейдите в C / C ++ Build-> Settings и в разделе Binary Parsers убедитесь, что параметр Mach-O 64 Parser установлен. Убедитесь, что этот, а не устаревший парсер Mach-O проверен.
5) На этом этапе, после создания проекта, в Project Explorer должно быть очевидно несколько вещей:
6) Теперь в папке проекта должна быть папка Binaries.
7) Внутри этой папки Binaries теперь должен быть ваш исполняемый файл. Он должен иметь [x86_64 / le] рядом с ним, если, как и я, ваш Mac эффективно 32-битный. Сейчас не лучшее время, чтобы попасть в путаную тему о том, эффективен ли ваш Mac 32-битный или 64-битный. Если вы не знаете, и много людей не потому, что Apple действительно запутывает, посмотрите небольшое приложение, которое можно скачать с http://www.ahatfullofsky.comuv.com/English/Programs/SMS/SMS.html который расскажет вам, что такое истина. Это бесплатно, но «цена» заключается в том, что вы должны прокручивать пропущенные объявления в верхней части страницы, отражающие политическое расположение программиста.
Для тех из вас, кто не знаком с программированием / eclipse / IDE и получает ту же ошибку, но вышеприведенные решения не работают, я решил, что мой «Launch Failed. Binary Not Found». выполните следующие действия: просто убедитесь, что вы создали свой проект («Проект»> «Создать все»), прежде чем пытаться запустить или отладить. Я думал, что IDE будет делать это здание, когда я нажму кнопку debug или run, но это не так (очевидно, ретроспективно). Урок урока. После создания вы должны увидеть папку «Binaries» и «Debug» в корневой директории проекта.
Я использовал OS X 10.7.3, если это имеет значение, хотя я предполагаю, что сделанная мной ошибка является фундаментальной, и любой дистрибутив eclipse даст ту же ошибку.
Вы должны изменить настройки своего проекта на создание исполняемого файла вместо динамической библиотеки:
Invoking: MacOS X C++ Linker g++ -arch i386 -dynamiclib -o "libHelloWorld" ./main.o`
Перейти к свойствам проекта -> C / C ++ Build -> Настройки -> Сборка артефакта и выбрать исполнимый в первом выпадающем списке.
У меня была такая же проблема. Ответ может быть трудно найти, поскольку проблема с «двоичным не найденным» возникла несколько раз раньше, с разными причинами и решениями (выбор 64-разрядного парсера и т. Д.).
Оказывается, в моем случае исправление было простым: вы должны сделать ручную сборку только один раз для каждого нового проекта, который вы создаете. После этого работает как обычно.
Подробности: использование новой свежей установки Eclipse Indigo Service Release 1 на Mac OS 10.7.2.
Если имя вашего проекта содержит «.» (точка), двоичный файл не будет создан в проекте здания. Удалите все «.» (Точки) из имени проекта и перестройте его или попробуйте создать новый проект.
Счастливое кодирование!
Я решил аналогичную проблему с Eclipse, создав «Launch Configuration». Я использую выпуск Indigo для Eclipse на OSX Lion с CDT (среда C / C ++ dev). Я нашел возможность создать новую конфигурацию запуска в Project-> Properties-> Run / Debug Settings.
Я столкнулся с этой проблемой после создания и создания пустого проекта Hello Hello Ansi C Autotools Project. Процесс сборки создал рабочий исполняемый файл как src / a.out. Я мог успешно запустить a.out с терминала, но Eclipse не понимал, что это был исполняемый файл для моего проекта, пока я не создал конфигурацию запуска, указывающую на нее. Как только я сделал это, я смог запустить a.out, как обычно, с помощью кнопки зеленого запуска.
Если сможешь успешно построен но при попытке запустить его с ошибкой:
Возможным решением может быть добавление новой конфигурации с полным путем к вашему двоичному выходному файлу
( Run-> Run Configuration …-> Main-> C ++ Application ):
У меня была та же проблема, даже когда я установил артефакт в исполняемый файл. Это произошло из-за того, что параметр shared lib был отмечен галочкой, и это заставляет сделать dylib, даже если вы указали исполняемый файл.
Я иду, чтобы запустить, установив Тип строителя в Внутренний строитель на C / C ++ Build в диалоговом окне свойств проекта.
programmerz.ru
Шауэрман Александр А. [email protected]
Рассмотрим процесс создания и настройки проекта. Рассмотрим два случая. В первом случае мы создадим проект с помощью плагина AVR-Eclipse и выполним всю необходимую настройку параметров компиляции средствами самой среды. При этом make-файл будет сгенерирован автоматически. Во втором случае создадим проект из готовых исходников с make-файлом. Все настройки проекта будут выполнены в самом make-файле. По большому счету, если создавать проект с готовым make-файлом, то плагин AVR-Eclipse не нужен.
1. Создаем сам проет. В меню «File» выбираем «New» -> «C Project«.
В открывшемся окне в строке «Project name» вводим имя нового проекта. Если установлена галочка «Use default location«, то проект по умолчанию будет помещен в «workspase» (выбрали при включении) в папочке с именем проекта. Если снять галочку, то путь можно указать вручную. В окне «Project type» выбираем «AVR Cross Target Aplication» -> «Empty Project«. В окне «Toolchain» должен быть активен «AVR-GCC Toolchain«. Нажимаем «Next«.
В окне «Select Configuration» снимаем галочку с пункта «Debug» (но можно и оставить), жмем «Next«. В окне «AVR Target Hardware Properties» Выбираем тип микроконтроллера и вводим его рабочую основную тактовую частоту. Для учебного стенда LESO6 это ATmega128RFA1 и 16000000 (также в меню File->Properties->AVR->Targer Hardware).
2. Добавляем файл исходного кода в проект. Если запуск первый, то окно «Welcome» следует закрыть. В окне «Project Explorer» нажимаем правой кнопкой мыши по нашему проекту, в контекстном меню выбираем «New«, далее выбираем «Source File«.
В появившемся окне вводим название нового файла, например probe.c. Хорошим тоном является называть основной файл проекта (там где содержится функция main) также как и сам проект. Не забываем про расширение «.c». В результате в проекте добавился файл «probe.c«
Добавим код простейшей программы:
#include<avr/io.h> int main() { //! Инициализация портов для светодиодов. DDRF |= (1<<DDF0 | 1<<DDF1 | 1<<DDF2 | 1<<DDF3); PORTF |= (1<<PF0); // Зажигаем 1 светодиод. while(1); }
Сохраним (Ctrl+s либо пиктограмма с дискеткой на панели инструментов). Компилируем: можно нажать на пиктограмму с молоточком на панели инструментов, либо в контекстном меню проекта (правой кнопкой на проект в окне «Project Explorer«) выбрать пункт «Build Project«. Для удаления результатов компиляции следует выбрать пункт «Clean Project«. Результат компиляции, впрочем и любых других действий, отображается в консоли в нижнем окне. По умолчанию в этом окне может быть активирована вкладка «Problems» – тоже полезная вкладка, но лучше переключиться на вкладку «Console«. Остальные вкладки можно закрыть. При необходимости они появятся сами, либо их можно активировать вручную из меню «Windows» -> «Show View«.
Если компиляция прошла успешно, то в консоли мы увидим примерно следующее:
---------------- Device: atmega128rfa1 Program: 326 bytes (0.2% Full) (.text + .data + .bootloader) Data: 0 bytes (0.0% Full) (.data + .bss + .noinit) Finished building: sizedummy 10:35:10 Build Finished (took 733ms)
Иначе следует читать и исправлять ошибки. В проекте (окно «Project Explorer«) добавился файл Binaries и папка «Release» (или «Debug«, если при настройке проекта в выборе конфигураций не была снята галочка с Debug). В папке «Release» можно найти object файлы, makefile, файлы конфигурации eeprom и hex-файл. Двойной щелчок левой кнопки мыши откроет соответствующий файл в отдельной вкладке окна редактора.
3. На этом создание проекта можно считать завершенным. При компиляции создается hex-файл, настройки по умолчанию подойдут для большинства проектов, если же нет, то отредактируем параметры вручную.
Окно «Properties» («Свойства») можно вызвать нажав сочетание клавиш «Alt+Enter«, предварительно выделив проект в окне «Project Explorer«, или в контекстном меню выбрав пункт «Properties«. Следует отметить, что таким образом можно вызвать свойства любого файла в проекте.
Рассмотрим некоторые важные моменты. На вкладке «Resource» можно выбрать кодировку текстового редактора. Для того, чтобы русский текст в комментариях корректно отображался в различных операционных системах, рекомендуем использовать кодировку UTF-8.
На вкладке «AVR«->»AVRDude» выбираем конфигурацию и поведение программатора. Можно указать, какой hex-файл прошивать, прошивать ли EEPROM, менять ли значение Fuse-бит и многое другое. Как правило, достаточно выбрать заранее подготовленную конфигурацию, остальное оставить по умолчанию.
Если при создании проекта был неверно указан тип микроконтроллера или его тактовая частота, то изменить этот параметр можно на вкладке «AVR«->»Target Hardware«. Здесь же можно проверить корректность настройки программатора, нажав кнопку «Load from MCU«, в этом случае тип контроллера будет запрошен непосредственно у подключенного микроконтроллера.
В группу вкладок «C/C++ Build» сведены основные параметры компиляции и сборки проекта. Если убрать галочку «Generate Makefiles automatically» («Автоматическая генерация make-файла), то можно указать путь к созданному вручную или сгенерированному другой программой make-файлу. «C/C++ Build» -> «Build Variables» позволяет задать дополнительные переменные, которые могут быть переданы компилятору в процессе сборки, эти переменные может использовать препроцессор. Во вкладке «C/C++ Build» -> «Environment» задаются переменные окружения, среди которых, частота процессора, тип процессора, путь до рабочего каталога, путь к утилитам сборки, путь к программатору и некоторые другие.
В пункте «C/C++ Build» -> «Settings» устанавливаются параметры, на основании которых строиться make-файл. «Additional Tools in Toolchain» – выбираем какие файлы будут сгенерированы при компиляции (hex-файл для памяти программ, hex-файл для памяти данных, листинг). Уровень оптимизации выберем, активировав «AVR Compiller» -> «Optimization«. Следует понимать, что детальная настройка этих параметров требует определенного уровня компетенции, ошибка может нарушить корректную работу микроконтроллера или привести к его зависанию, а в некоторых случаях исходный код не будет скомпилирован. Вернуть настройки пункта «C/C++ Build» -> «Settings» можно нажав кнопку «Restore Defaults«.
Внимание! Для того что бы комментарии на русском языке в файлах исходного кода отображались корректно, следует переключить кодировку текстового редактора с Cp1251 на UTF-8. Сделать это можно для каждого файла в отдельности, для проекта в целом, либо для всего workspace сразу. Для этого в меню «Window» выбираем «Preferences«, далее «General» -> «Workspase«, правим пункт «Text file encoding«.
Что же такое make-файл? По сути своей make-файл – это текстовый файл, содержащий инструкции по компиляции отдельных модулей проекта в объектные файлы и сборки этих объектных файлов в некоторый исполняемый бинарный файл, либо hex-файл. В общем случае такой файл называется Makefile. Если проект достаточно сложный и состоит из множества директорий с исходными кодами, то make-файл разбивается на несколько отдельных файлов. Вспомогательные файлы с помощью директивы «#include» объединяются с основным. Почти все современные IDE умеют создавать make-файл автоматически, такой make-файл как правило содержит специфические параметры, привязанные к IDE и текущей операционной системе. Если же предполагается создать кросплатформенный проект не привязанный к определенной среде разработки, make-файл следует написать самому. Этот подход широко распространен в мире свободного программного обеспечения. Для компиляции такого проекта в unix-подобных системах вообще не требуется IDE, достаточно в терминале выполнить команду «make». Встраиваемые в микроконтроллер операционные системы, например FreeRTOS, Contiki собираются, используя make-файл. По такому же принципу выполнен демонстрационный проект leso6 demo1, на примере которого рассмотрим процесс создания проекта.
Все исходные коды для учебного стенда LESO6 свободно распространяются по лицензии BSD (двух пунктов) и доступны в системе git. Адрес на GitHub: www.github.com/Shamrel/leso6, можно скачать одним архивом основную ветвь. После скачивания распакуйте архив.
1. Создаем новый проет. В меню «File» выбираем «New» -> «Makefile Project with Existing Code«.
В появившемся окне «New Project» указываем путь к директории с Makefile. Для проекта demo1 это «app/demo1» относительно корня распакованного архива. Строка «Project Name» заполнится автоматически, при желании название проекта можно изменить вручную. Исходный код мы пишем на Си, (не C++), поэтому галочку «C++» можно убрать. В окне «Toolchain for Indexer Settings» выбираем «AVR-GCC Toolchain«. Жмем «Finish«.
В целом импорт проекта завершен и после компиляции создастся hex-файл, пригодный для загрузки в память микроконтроллера. Как можно было заметить, мы нигде не указали среде Eclipse конкретный тип процессора и его тактовую частоту, более того, если зайти в свойства проекта, то мы не увидим пункта «AVR«. Многие пункты настроек также будут отсутствовать, например в пункте «C/C++ Build» -> «Settings» нет вкладки «Tool Settings«. Дело в том, что теперь все настройки среда берет из Makefile. Однако кое-что нам придется настроить: в окне проектов отображается только файл demo.c, в то время как проект включает в себя множество файлов для работы с периферией. Эти файлы расположены в папке «platform» в корне основного каталога. На работоспособность проекта это не влияет, но достаточно неудобно редактировать исходный код: осложнена навигация между файлами проекта.
Добавить путь к директории с дополнительными файлами можно в свойствах проекта. Выбираем «C/C++ General» -> «Patchs and Symbols«, далее вкладка «Source Location«, жмем «Link Folder…«.
В окне «New Folder» указываем путь к директории с исходниками.
В окне «Project Explorer» добавилась ссылка на папку «platform» со всеми исходными файлами.
Создание проекта завершено. Загрузка hex-файла в память программ стенда с помощью программатора avrdude в статье «Настройка Eclipse для работы с avrdude».
www.labfor.ru