реклама на сайте
подробности

 
 
> Eclipse для начинающего
Micrick
сообщение Oct 4 2013, 09:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Второй день, как установил и пытаюсь разобраться с Eclipse C++ Kepler под Ubuntu (на VirtualBox).
Хотелось бы осознать некоторые особенности среды.
1. Можно ли отдельно откомпилировать, и как, отдельный cpp- файл из Project Explorera?
2. Hello World не собирается, очевидно, что не установлен g++. Пишет: Program "g++" not found in PATH
Location которого: Preferences, C++/Build/Settings/Discovery. Вопрос, как этот g++ туда засунуть?
3. Сам g++ с инета средствами Ubuntu не ставится (грешу на инет). Можно ли скачать пакет g++ из Винды и поставить в Ubunte его уже оффлайн?
4. Посмотрел Preferences, C++/Build/Settings/Error Parsers - одни ошибки.


C Линуксом столкнулся только сейчас, - сильно не пинайте sm.gif
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 41)
Petka
сообщение Oct 4 2013, 09:43
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Micrick @ Oct 4 2013, 13:41) *
2. Hello World не собирается, очевидно, что не установлен g++. Пишет: Program "g++" not found in PATH
...
C Линуксом столкнулся только сейчас, - сильно не пинайте sm.gif


Код
sudo apt-get install gcc
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 4 2013, 11:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(Petka @ Oct 4 2013, 12:43) *
Код
sudo apt-get install gcc

Сделал. Пишет, что все номано:
Цитата
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.




Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 4 2013, 12:44
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



а просто в командной строке терминала компилируется?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 4 2013, 12:57
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Petka @ Oct 4 2013, 11:43) *
CODE
sudo apt-get install gcc

CODE
sudo apt-get install g++


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 4 2013, 13:00
Сообщение #6


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



На ubuntu вроде для G++ надо
sudo apt-get install build-essential
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 4 2013, 13:39
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(сарматъ @ Oct 4 2013, 15:44) *
а просто в командной строке терминала компилируется?

Хм... поудалял все проекты из папки "workspace". Теперь при запуске eclipse выдает сообщение :
Цитата
Problem occured, Unable to restore working set state. Details: Premature end of file.

Снес Эклипс, скопировал заново, запуск- тоже самое. sad.gif


Цитата(KRS @ Oct 4 2013, 16:00) *
На ubuntu вроде для G++ надо
sudo apt-get install build-essential

И на это у нее есть ответ:
Цитата
E: Unable to locate package build-essential

sm.gif

Сообщение отредактировал Micrick - Oct 4 2013, 13:39
Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 4 2013, 13:57
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



ешьте слона по частям, добейтесь чтоб в командной строке в терминале происходила компиляция - для начала без еклипса
Go to the top of the page
 
+Quote Post
Kermit
сообщение Oct 4 2013, 16:16
Сообщение #9





Группа: Участник
Сообщений: 14
Регистрация: 16-10-09
Из: Ростов-на-Дону
Пользователь №: 53 018



Мне помогло следующее:
1. Установи eclipse из Ubuntu software center
2. В терминале запусти: sudo apt-get install eclipse eclipse-cdt g++
п.2 поставит плагин с++
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 4 2013, 16:58
Сообщение #10


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Отход от темы удалил.
Модератор.
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 8 2013, 08:23
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115




Привет!

Есть проект с Makefile'ом который генерится утилитой cmake. Если мне надо собрать проект в режиме отладки (debug) то из папки проекта, я пишу в консоли:

Код
cmake -DCMAKE_BUILD_TYPE=Debug



Как мне собрать проект в режиме деббугера из под Эклипса, если мэйкфайл - мой, а не генерируемый эклипсом ?
Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 8 2013, 08:27
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



надо импортировать проект импортировав мейкфайл
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 8 2013, 10:08
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата(сарматъ @ Oct 8 2013, 12:27) *
надо импортировать проект импортировав мейкфайл


То есть если я хочу поменять режим сборки, и у меня самописный makefile, то из Эклипса мне это не сделать. Надо самому заново генерить мakefile, указав в нем нужный режим сборки проекта. Так ?
Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 8 2013, 10:18
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



нет не так

импортировать надо один раз потом просто открываете мейкфайл в эклипсе и редактируете его как хотите и все
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Oct 8 2013, 10:41
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
если мэйкфайл - мой, а не генерируемый эклипсом ?
new - makefile project
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 8 2013, 10:49
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата(сарматъ @ Oct 8 2013, 14:18) *
нет не так

импортировать надо один раз потом просто открываете мейкфайл в эклипсе и редактируете его как хотите и все



А где задание режима сборки в синтаксисе мэйкфайла находится ? Я сам его не пишу (cmake создает его у меня, мне трудно в нём ориентироваться).
Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 8 2013, 11:51
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



к сожалению этого я не знаю пока
Go to the top of the page
 
+Quote Post
Ixt
сообщение Oct 8 2013, 15:54
Сообщение #18


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 27-10-06
Из: Брянск
Пользователь №: 21 724



Цитата(berkl @ Oct 8 2013, 14:49) *
А где задание режима сборки в синтаксисе мэйкфайла находится ? Я сам его не пишу (cmake создает его у меня, мне трудно в нём ориентироваться).


"Режим сборки" в GNU Makefile - это флаги. Обычно "-g", выключенная оптимизация для "Debug" и включённая оптимизация ("-O2") для "Release".
А вообще лучше не редактировать автоматически сгенерированные файлы.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 8 2013, 17:31
Сообщение #19


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Ixt @ Oct 8 2013, 19:54) *
"Режим сборки" в GNU Makefile - это флаги. Обычно "-g", выключенная оптимизация для "Debug" и включённая оптимизация ("-O2") для "Release".
А вообще лучше не редактировать автоматически сгенерированные файлы.

IMHO, не корректно противопоставлять эти опции.

Из документации к gcc
Цитата
GCC allows you to use ‘-g’ with ‘-O’. The shortcuts taken by optimized code
may occasionally produce surprising results: some variables you declared may
not exist at all; flow of control may briefly move where you did not expect it;
some statements may not be executed because they compute constant results
or their values were already at hand; some statements may execute in different
places because they were moved out of loops.



--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Ixt
сообщение Oct 8 2013, 19:35
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 27-10-06
Из: Брянск
Пользователь №: 21 724



Цитата(mdmitry @ Oct 8 2013, 21:31) *
IMHO, не корректно противопоставлять эти опции.


Угу. Если у нас несколько вариантов сборки, то можно собирать и релиз с отладочной информацией (что кстати тот же cmake позволяет делать). Но, вообще, оптимизация может мешать отладке и даже быть причиной некоторых малопонятных сбоев (опции из -O3). Поэтому всегда лучше иметь сборку с "-g -O0", в которой полностью уверен.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 9 2013, 06:00
Сообщение #21


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Ixt @ Oct 8 2013, 22:35) *
Поэтому всегда лучше иметь сборку с "-g -O0"
Чтобы отладив ее выкатить релиз с -O3 и те самые "некоторые малопонятные сбои" находил уже конечный пользователь?
Не говоря уже о том, что некоторые программы с -O0 вообще не собираются (при -O0 отключается встраивание).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 9 2013, 07:23
Сообщение #22


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Разговор насчёт -O0 vs -O3 поднимается новичками с пугающей периодичностью и всякий раз грозит перерасти в религиозную войну.
Дабы не пришлось применять санкции, прошу участников этот вопрос не обсуждать.
Модератор
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 9 2013, 10:51
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата(Ixt @ Oct 8 2013, 23:35) *
Угу. Если у нас несколько вариантов сборки, то можно собирать и релиз с отладочной информацией (что кстати тот же cmake позволяет делать). Но, вообще, оптимизация может мешать отладке и даже быть причиной некоторых малопонятных сбоев (опции из -O3). Поэтому всегда лучше иметь сборку с "-g -O0", в которой полностью уверен.


Я до этого писал для 16-битных камушков в BSO Tasking, Keil, MikroC, MPLAB. Везде приходил к тому что надо отключать оптимизацию. Тут видимо похожая ситуация. Приму к сведению.

Цитата(Ixt @ Oct 8 2013, 19:54) *
А вообще лучше не редактировать автоматически сгенерированные файлы.


Ясно. Сmake отдельно, Эклипс - отдельно.

Вопросы.

1. Сгенерил makefile с помощью команды cmake -DCMAKE_BUILD_TYPE=Debug . Затем полученным makefile собрал программку. Она (програмка) запускается без проблем из консоли. Это вообще нормально, что она может стартовать не из под дебуггера, а как будто я её в релизе собрал?

2. На базе этого же Makefile-проекта решил создать проект в Эклипсе и запустить его в релизе и в дебуггере. Делал так.
1. Создал папку проекта Project
2. В папке Project создал папки src (исходники .с ) incl (заголовки .h) build (файлы сборки проекта CMakeLists.txt, MakeFile, исполняемый файл и пр. СMakexxxxx файлы)
3. Импортировал соответствующие файлы из makefile-проекта в соответствующие папки.
4. В текстовом редакторе Эклипса поправил пути в импортированном CMakeLists.txt файле и запустил cmake из командной строки.
5. В Эклипсе иду Project --> Properties --> Builders. Там отключаю встроенный в Эклипс сборщик. и создаю свой (New). Для своего сборщика указываю путь к мэйку Убунты, а в "Working Directory" указываю путь до мною сгенерированного makefile (до папки build проекта)
6. Всё. Жму Cntrl+B, ошибок нет, исполняемый файл генерится.

Всё хорошо, но когда запускаю Run получаю сообщение Эклипса : The selection cannot be launched. and thare are no recent launches. При повторном нажатии Run, появляется: Launch failed. Binary not found. Это же сообщение появляется при запуске дебуггера (кнопка F11) Чо ей надо ?

В CmakeFile.txt у меня применены следующие опции компилятора:

Код
set( CMAKE_C_FLAGS_DEBUG "-O0 -Wall -pedantic" )
set( CMAKE_C_FLAGS "-O0 -Wall -pedantic" )



Спасибо.

PS Вот еще вопрос. Настройки своего билдера я устанавливаю в Project->Properties->Builders. А есть еще настройки билдера в Project->Properties->С/С++ Build->закладка Build Settings. Зачем они сделали одни и те же настройки в двух местах ? Мне и там и там надо тоже самое выставлять (путь до make и путь до makefile) ?

Сообщение отредактировал berkl - Oct 9 2013, 11:47
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 9 2013, 11:58
Сообщение #24


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (berkl @ Oct 9 2013, 13:51) *
Всё хорошо, но когда запускаю Run получаю сообщение Эклипса : The selection cannot be launched. and thare are no recent launches. При повторном нажатии Run, появляется: Launch failed. Binary not found. Это же сообщение появляется при запуске дебуггера (кнопка F11) Чо ей надо ?
В Project->Propertities->C/C++ Build ->Settings на вкладке Binary Parsers поставьте гадочку на GNU Elf Parser, а потом в Run->Debug configurations создайте правильную конфигурацию для отладки. Или впишите путь к исполняемому файлу в ту, которую Эклипса создала при первом вашем запуске отладки.
QUOTE (berkl @ Oct 9 2013, 13:51) *
PS Вот еще вопрос.
Этого не знаю. Никогда свой builder не создавал.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
сарматъ
сообщение Oct 9 2013, 12:49
Сообщение #25


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 19-11-12
Пользователь №: 74 463



Цитата(berkl @ Oct 9 2013, 14:51) *
Везде приходил к тому что надо отключать оптимизацию. Тут видимо похожая ситуация. Приму к сведению.


лучше использовать volatile - отключение оптимизации для отдельных переменных
Go to the top of the page
 
+Quote Post
berkl
сообщение Oct 10 2013, 06:42
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 123
Регистрация: 22-03-10
Пользователь №: 56 115



Цитата(Сергей Борщ @ Oct 9 2013, 15:58) *
В Project->Propertities->C/C++ Build ->Settings на вкладке Binary Parsers поставьте гадочку на GNU Elf Parser, а потом в Run->Debug configurations создайте правильную конфигурацию для отладки. Или впишите путь к исполняемому файлу в ту, которую Эклипса создала при первом вашем запуске отладки.
Этого не знаю. Никогда свой builder не создавал.


Галочка стояла уже, а вот в Run->Debug configurations надо было действительно указать путь к исполняемому файлу (по умолчанию там белеберда была потому что проект Эклипса полностью самопальный получился). Но всё равно дебаггер не запустился, не мог найти функцию main. Тут в постах выше писали мне про флаги. Я вставил у себя в CmakeFile.txt вместо старого
Код
set( CMAKE_C_FLAGS_DEBUG "-O0 -Wall -pedantic" )

вот это
Код
set( CMAKE_C_FLAGS_DEBUG "-g -O0 -Wall -pedantic" )

Сгенерил заново makefile, скомпилировал проект, всё, дебаг появился как нужно. Я так понял, именно флаг -g и говорит компилятору, что надо добавить к исполняемому файлу чего-то, что возьмет для себя дебуггер


Цитата(сарматъ @ Oct 9 2013, 16:49) *
лучше использовать volatile - отключение оптимизации для отдельных переменных

А если чужие исходники прикручивать к своему проекту? В них придется влазить тогда. Потом, оптимизация касается не только переменных. На сколько я знаю, сами функции могут быть "заоптимизированы". Не, нафиг, если без неё всё собирается то и не буду заморачиваться даже.

Спасибо товарищи ! santa2.gif

Сообщение отредактировал berkl - Oct 10 2013, 06:43
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 11 2013, 09:52
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(Micrick @ Oct 4 2013, 16:39) *
Хм... поудалял все проекты из папки "workspace". Теперь при запуске eclipse выдает сообщение :
Цитата
Problem occured, Unable to restore working set state. Details: Premature end of file.

Снес Эклипс, скопировал заново, запуск- тоже самое. sad.gif

Удалил папку workspace. Затем создал заново с новым проектом "Hello World". Все нормально. Проблем не выдает.

Цитата(сарматъ @ Oct 4 2013, 16:57) *
ешьте слона по частям, добейтесь чтоб в командной строке в терминале происходила компиляция - для начала без еклипса

Зашел в терминале в папку проекта, там где исходник Hello.cpp и запустил команду a@a:~/workspace/Hello/src$ g++ Hello.cpp
В ответ:
Цитата
The program 'g++' can be found in the following packages:
* g++
* pentium-builder
Try: sudo apt-get install <selected package>

Явно надо этот g++ инсталировать. Верно?!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 11 2013, 10:10
Сообщение #28


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Micrick @ Oct 11 2013, 12:52) *
Явно надо этот g++ инсталировать. Верно?!

Читайте внимательно ответы. Да, надо. см. ответ №5


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 11 2013, 10:35
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(Сергей Борщ @ Oct 11 2013, 13:10) *
Читайте внимательно ответы. Да, надо. см. ответ №5

Это была риторика sm.gif
На sudo apt-get install g++ пишет, что мол,
Цитата
Note, selecting 'python-gconf' instead of 'python2.6-gconf'
Note, selecting 'libgphoto2-port0' instead of 'libgphoto2port'
libgssapi-krb5-2 is already the newest version.
xserver-xorg-input-vmmouse is already the newest version.
....................
В общем, много чего там is already the newest version.
....................
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
.....................
E: Broken packages

Цитата(Kermit @ Oct 4 2013, 19:16) *
Мне помогло следующее:
1. Установи eclipse из Ubuntu software center

А он:
Цитата
Failed to download repository information
Check your Internet connection.

Юбунтовский Firefox в инет нормально лезет.
Мож моя ubuntu 10.10 некошерна уже? laughing.gif

Сообщение отредактировал Micrick - Oct 11 2013, 10:52
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 17 2013, 12:23
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



В общем, на данном этапе данные проблемы решились заменой VirtualBox на VMware Player (VB закапризничал) и Ubuntu10.10 на Ubuntu12.04 с беспроблемной установкой Eclipse, gcc и g++ через Software Center.

Сообщение отредактировал Micrick - Oct 17 2013, 12:24
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 17 2013, 14:02
Сообщение #31


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Micrick @ Oct 11 2013, 13:35) *
Мож моя ubuntu 10.10 некошерна уже? laughing.gif
Отож! Ее поддержка прекращена в апреле 2012. Значит репозитории уже того...


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 22 2013, 13:11
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Теперича ставлю GNU ARM плагин. В Эклипсе, тяну с http://sourceforge.net/projects/gnuarmecli...clipse/updates/.
Установка не проходит, пишет:

Цитата
Cannot complete the install because one or more required items could not be found.
Software being installed: GNU ARM C/C++ Cross Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross.feature.group 1.1.2.201310210535)
Missing requirement: CDT Cross GNU ARM Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross 1.1.2.201310210535) requires 'bundle org.eclipse.cdt.ui 5.6.0' but it could not be found
Cannot satisfy dependency:
From: GNU ARM C/C++ Cross Compiler Support 1.1.2.201310210535 (ilg.gnuarmeclipse.managedbuild.cross.feature.group 1.1.2.201310210535)
To: ilg.gnuarmeclipse.managedbuild.cross [1.1.2.201310210535]


Где этот org.eclipse.cdt.ui 5.6.0 взять?

Хм... Прошу пардону- видимо, этот GNU ARM C/C++ Cross Compiler Support и не нужен вовсе. Оставил один Development Support, и все пошло!

Ан нет, рано порадовался,- Cross Compiler Support не установлен, но необходим. sad.gif Так что же с этой "неудовлетворенной зависимостью" делать??!



Сообщение отредактировал Micrick - Oct 23 2013, 09:03
Go to the top of the page
 
+Quote Post
=F8=
сообщение Oct 25 2013, 08:13
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(Micrick @ Oct 22 2013, 16:11) *
Так что же с этой "неудовлетворенной зависимостью" делать??!

Поставить Eclipse 4.3
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 25 2013, 11:34
Сообщение #34


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Micrick @ Oct 22 2013, 17:11) *
...
Так что же с этой "неудовлетворенной зависимостью" делать??!

Прекратить борьбу с плагинами. Сесть и разобраться однажды с make, сделать Makefile, отладить сборку. В Eclipse использовать проект Makefile Project with Existing Code.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 28 2013, 13:35
Сообщение #35


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(mdmitry @ Oct 25 2013, 14:34) *
Прекратить борьбу с плагинами. Сесть и разобраться однажды с make, сделать Makefile, отладить сборку. В Eclipse использовать проект Makefile Project with Existing Code.

А не сможете дать какой-нить реальный простейший Makefile для примера? И как это все лучше изучить. Не, понятно, что маны и поиск рулят, но просто хотелось бы сразу, посмотреть,
где это получше для восприятия описано. sm.gif
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 28 2013, 17:14
Сообщение #36


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Micrick @ Oct 28 2013, 17:35) *
А не сможете дать какой-нить реальный простейший Makefile для примера? И как это все лучше изучить. Не, понятно, что маны и поиск рулят, но просто хотелось бы сразу, посмотреть,
где это получше для восприятия описано. sm.gif

Гляньте для начала сюда и сюда. Я давно выкладывал их же. К scmRTOS для GCC идут соответствующие файлы Makefile. Они вполне минималистичны. С минимумом автоматических подстановок генерируются Makefile плагинами Eclipse и других сред.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 29 2013, 09:16
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Спасибо!
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 30 2013, 09:30
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Сделал проект для ARM C++ Hello World. Текущий тулчейн: ARM Linux GCC Sourcery Lite Bare. Пишет:
Цитата
Program "arm-none-eabi-g++" not found in PATH

Хотя в PATH все есть:
echo $PATH
/opt/arm/arm-2013.05/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Также пишет:
Цитата
make: *** [src/t0.o] Error 127 C/C++ Problem

Как все это исправить?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 30 2013, 09:55
Сообщение #39


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Micrick @ Oct 30 2013, 12:30) *
Хотя в PATH все есть:
Вы после того, как его в PATH дописали, эклипсу перезапускали? $(info $(PATH)) изнутри makefile показывает такой же PATH? arm-none-eabi-g++ --version из командной строки выполнятется?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 30 2013, 12:22
Сообщение #40


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(Сергей Борщ @ Oct 30 2013, 12:55) *
Вы после того, как его в PATH дописали, эклипсу перезапускали?

В PATH дописал еще несколько дней назад. sm.gif
......
В обчем, снес проект, перезапустил Эклипс, выбрал новую папку для проектов, сделал новый проект. Теперь пишет другое:
make: *** [src/main.o] Error 1 C/C++ Problem
Но .elf и .hex файлы появились!!!
Да и в лог-файле только о warning написано.
Цитата(Сергей Борщ @ Oct 30 2013, 12:55) *
arm-none-eabi-g++ --version из командной строки выполнятется?

Выполняется:
Код
a@ubuntu:~/workspace/test1/src$ arm-none-eabi-g++ main.cpp
/opt/arm/arm-2013.05/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008018
a@ubuntu:~/workspace/test1/src$

Цитата(Сергей Борщ @ Oct 30 2013, 12:55) *
$(info $(PATH)) изнутри makefile показывает такой же PATH?

А можно поподробнее, что это и как смотреть?!
Вот макеfile проекта:
Код
################################################################################
# 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 $(C++_DEPS)),)
-include $(C++_DEPS)
endif
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
ifneq ($(strip $(ASM_DEPS)),)
-include $(ASM_DEPS)
endif
ifneq ($(strip $(CC_DEPS)),)
-include $(CC_DEPS)
endif
ifneq ($(strip $(CPP_DEPS)),)
-include $(CPP_DEPS)
endif
ifneq ($(strip $(CXX_DEPS)),)
-include $(CXX_DEPS)
endif
ifneq ($(strip $(C_UPPER_DEPS)),)
-include $(C_UPPER_DEPS)
endif
ifneq ($(strip $(S_UPPER_DEPS)),)
-include $(S_UPPER_DEPS)
endif
endif

-include ../makefile.defs

# Add inputs and outputs from these tool invocations to the build variables
SECONDARY_FLASH += \
test1.hex \

SECONDARY_LIST += \
test1.lst \

SECONDARY_SIZE += \
test1.siz \


# All Target
all: test1.elf secondary-outputs

# Tool invocations
test1.elf: $(OBJS) $(USER_OBJS)
    @echo 'Building target: $@'
    @echo 'Invoking: ARM Linux GCC C++ Linker (Sourcery Lite Bare)'
    arm-none-eabi-g++ -Xlinker --gc-sections -Wl,-Map,"test1.map" -mcpu=cortex-m3 -mthumb -g3 -o "test1.elf" $(OBJS) $(USER_OBJS) $(LIBS)
    @echo 'Finished building target: $@'
    @echo ' '

test1.hex: test1.elf
    @echo 'Invoking: ARM Linux GNU Create Flash Image (Sourcery Lite Bare)'
    arm-none-eabi-objcopy -O ihex "test1.elf"  "test1.hex"
    @echo 'Finished building: $@'
    @echo ' '

test1.lst: test1.elf
    @echo 'Invoking: ARM Linux GNU Create Listing (Sourcery Lite Bare)'
    arm-none-eabi-objdump -h -S "test1.elf" > "test1.lst"
    @echo 'Finished building: $@'
    @echo ' '

test1.siz: test1.elf
    @echo 'Invoking: ARM Linux GNU Print Size (Sourcery Lite Bare)'
    arm-none-eabi-size  --format=berkeley "test1.elf"
    @echo 'Finished building: $@'
    @echo ' '

# Other Targets
clean:
    -$(RM) $(OBJS)$(C_DEPS)$(SECONDARY_FLASH)$(CXX_DEPS)$(S_UPPER_DEPS)$(SECONDARY_LIST)$(C++_DEPS)$(SECONDARY_SIZE)$(ASM_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(C_UPPER_DEPS) test1.elf
    -@echo ' '

secondary-outputs: $(SECONDARY_FLASH) $(SECONDARY_LIST) $(SECONDARY_SIZE)

.PHONY: all clean dependents
.SECONDARY:

-include ../makefile.targets


Сообщение отредактировал Micrick - Oct 30 2013, 13:09
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 30 2013, 14:42
Сообщение #41


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Micrick @ Oct 30 2013, 15:22) *
А можно поподробнее, что это и как смотреть?!
Да просто последней строкой допишите в makefile
CODE
$(info $(PATH))
и посмотрите в окне консоли после компиляции.
Впрочем, компиляция у вас пошла, осталось выяснить на что же make выдает ошибку "Error 1 C/C++ Problem". В окне консоли другой ругани не было?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Micrick
сообщение Oct 31 2013, 09:57
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 24-03-10
Пользователь №: 56 178



Цитата(Сергей Борщ @ Oct 30 2013, 17:42) *
Да просто последней строкой допишите в makefile
Код
$(info $(PATH))
и посмотрите в окне консоли после компиляции.

Хм... ничего не выводит. То есть выводит и с этой строкой и без нее следующее:
Код
02:47:08 **** Incremental Build of configuration Debug for project test1 ****
make all
Invoking: ARM Linux GNU Print Size (Sourcery Lite Bare)
arm-none-eabi-size  --format=berkeley "test1.elf"
   text       data        bss        dec        hex    filename
    228         12         28        268        10c    test1.elf
Finished building: test1.siz
02:47:09 Build Finished (took 184ms)

После компиляции строка $(info $(PATH)) из мейкфайла исчезает. laughing.gif
Цитата(Сергей Борщ @ Oct 30 2013, 17:42) *
Впрочем, компиляция у вас пошла, осталось выяснить на что же make выдает ошибку "Error 1 C/C++ Problem". В окне консоли другой ругани не было?

Ошибка исчезла после коррекции С/С++ Build - Settings - Tool Settings - Target Processor
Поставил: Processor arm7tdmi-s, Architecture armv7
У меня LPC2138. Надеюсь, все прально.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01846 секунд с 7
ELECTRONIX ©2004-2016