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

 
 
> Eclipse Makefile project дефайны в мейкфайле, ifdef и индексация кода, Код за ifdef не индексируется и этих дефайнов эклипс не видит
Cosmojam
сообщение Oct 9 2013, 10:10
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 12-01-11
Из: Калининград (Koenigsberg)
Пользователь №: 62 182



Есть кусок кода
Код
#if SOME_VAR
void func(void);
#else

SOME_VAR определена в каком-то хэдэре, который виден эклиспу, но по каким-то причинам он не видит этот дефайн и соответственно весь код под ifdef становится ему не виден. Это страшно неудобно т.к. очень привык Ctrl+click на функции и попадать к её определению. А если она определена под таким блоком ifdef, то эклипс её не видит и приходится мучится с поиском.

Пути к инклюдам эклипс видит (дописал их в path and symbols, по ктрл+клику находит инклюды). Там же в symbols дописал эти дефайны - не помогло.

Подскажите как бороться с этим?


--------------------
typedef enum { no, yes, maybe } bool; | блог тут
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorKossak
сообщение Dec 17 2013, 13:49
Сообщение #2


Шаман
******

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



Слегка помучившись, после некоторых экспериментов и углублённого изучения документации Eclipse, пришёл к следующему:
1. запускать дискаверинг после анализа CXX_PROJECT не верно, т. к. сама суть дискаверинга состоит в определении путей, дефайнов и прочего в зависимости от языка, которых в смешанном проекте может быть (в нашем случае) 1 или 2, а не в зависимости от некоего дефайна, определённого на весь проект.
2. изменил настройки проекта и makefile следующим образом:
Код
make extension="${EXT}" specs_file="${INPUTS}" discovery

Код
discovery:
ifeq ($(extension),C)
    @echo -- discovery for $(CXX)
    $(CXX) $(INCS) $(CXXFLAGS) -E -P -v -dD '$(specs_file)'
else
    @echo -- discovery for $(CC)
    $(CC) $(INCS) $(CFLAGS) -E -P -v -dD '$(specs_file)'
endif
    $(RM) spec.d
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Cosmojam   Eclipse Makefile project дефайны в мейкфайле, ifdef и индексация кода   Oct 9 2013, 10:10
- - сарматъ   попробовать сделать переиндексацию   Oct 9 2013, 10:36
|- - Cosmojam   Цитата(сарматъ @ Oct 9 2013, 13:36) попро...   Oct 9 2013, 10:55
- - AHTOXA   Цитата(Cosmojam @ Oct 9 2013, 16:10) Подс...   Oct 9 2013, 11:14
|- - Сергей Борщ   QUOTE (AHTOXA @ Oct 9 2013, 14:14) Смотри...   Oct 9 2013, 11:45
||- - mdmitry   Цитата(Сергей Борщ @ Oct 9 2013, 15:45) Д...   Oct 9 2013, 14:17
|||- - Сергей Борщ   QUOTE (mdmitry @ Oct 9 2013, 17:17) Испол...   Oct 9 2013, 16:13
|||- - mdmitry   Цитата(Сергей Борщ @ Oct 9 2013, 20:13) К...   Oct 10 2013, 12:40
||- - IgorKossak   Цитата(Сергей Борщ @ Oct 9 2013, 14:45) Д...   Oct 10 2013, 17:25
||- - Сергей Борщ   QUOTE (IgorKossak @ Oct 10 2013, 20:25) В...   Oct 10 2013, 18:14
|- - Cosmojam   Цитата(AHTOXA @ Oct 9 2013, 14:14) Смотри...   Oct 9 2013, 17:56
- - Cosmojam   Кажется понял причину. В каталоге проекта есть неи...   Oct 10 2013, 09:17
- - сарматъ   хых... расскажите какую проблему вы тут решаете? ч...   Oct 11 2013, 05:21
|- - Сергей Борщ   QUOTE (сарматъ @ Oct 11 2013, 08:21) расс...   Oct 11 2013, 07:37
|- - mdmitry   CODE .PHONY: discovery discovery: 1)ifeq ($(C...   Oct 11 2013, 10:23
- - сарматъ   понял, спасибо, буду пробовать может там еще слов...   Oct 11 2013, 07:40
- - сарматъ   а если в проекте и с и с++?   Oct 11 2013, 10:36
|- - mdmitry   Цитата(сарматъ @ Oct 11 2013, 14:36) а ес...   Oct 11 2013, 11:40
- - сарматъ   ну с компиляцией то ладно - у меня чужой мейк файл...   Oct 11 2013, 11:47
|- - mdmitry   Цитата(сарматъ @ Oct 11 2013, 15:47) ну с...   Oct 11 2013, 11:54
- - сарматъ   да как раз эта ос у меня используется, сейчас ваш ...   Oct 11 2013, 12:08
|- - mdmitry   Цитата(IgorKossak @ Dec 17 2013, 18:49) К...   Dec 17 2013, 14:22
- - IgorKossak   specs_file имеет расширение C для C++ и c для C. И...   Dec 17 2013, 14:34
|- - mdmitry   Цитата(IgorKossak @ Dec 17 2013, 18:34) s...   Dec 17 2013, 14:39
|- - IgorKossak   Цитата(mdmitry @ Dec 17 2013, 16:39) Если...   Dec 17 2013, 14:54
|- - mdmitry   IgorKossak, Вы проверяли такую ситуацию: проект им...   Dec 17 2013, 14:56
- - IgorKossak   Не проверял, но не вижу препятствий. Ведь если дел...   Dec 17 2013, 15:04
- - abutorin   Добрый день. Задам наверное глупый вопрос. Но я не...   Dec 31 2013, 10:08
|- - mdmitry   Цитата(abutorin @ Dec 31 2013, 14:08) Доб...   Jan 2 2014, 21:04
|- - abutorin   Цитата(mdmitry @ Jan 3 2014, 01:04) Цель ...   Jan 3 2014, 19:41
|- - mdmitry   Цитата(abutorin @ Jan 3 2014, 23:41) Когд...   Jan 3 2014, 20:55
|- - abutorin   Цитата(mdmitry @ Jan 4 2014, 00:55) Первы...   Jan 3 2014, 20:58
|- - mdmitry   Цитата(abutorin @ Jan 4 2014, 00:58) Посл...   Jan 3 2014, 21:10
|- - abutorin   Цитата(mdmitry @ Jan 4 2014, 01:10) сейча...   Jan 3 2014, 21:24
|- - mdmitry   Во вкладке Providers у меня отмечены некоторые нас...   Jan 4 2014, 10:30
- - Сергей Борщ   Я понял, что на вкладке Providers достаточно остав...   Jan 5 2014, 00:29
|- - abutorin   Цитата(Сергей Борщ @ Jan 5 2014, 04:29) Е...   Jan 5 2014, 07:02
|- - mdmitry   Цитата(Сергей Борщ @ Jan 5 2014, 04:29) C...   Jan 5 2014, 19:41
|- - AHTOXA   Я тут наконец-то дозрел до перехода на Luna. Вспом...   Nov 14 2014, 15:56
- - IgorKossak   Window->Preferences->C/C++->Indexer + Aut...   Jan 5 2014, 13:59
|- - abutorin   Цитата(IgorKossak @ Jan 5 2014, 17:59) Wi...   Jan 5 2014, 19:29
- - IgorKossak   По поводу индексации Антоха сказал всё правильно, ...   Nov 14 2014, 20:36
- - Aaron   Оу, спасибо! Наконец-то индексация в Luna зара...   Nov 28 2014, 05:59
- - swisst   Цитата(AHTOXA @ Nov 14 2014, 17:56) Я тут...   Jan 8 2015, 21:32
|- - AHTOXA   У вас в makefile похоже ошибка: Код"C:...   Jan 8 2015, 21:46
- - Alexey Belyaev   Прошу прощения что встреваю А тоже самое возможно...   May 15 2015, 09:13


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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 11:13
Рейтинг@Mail.ru


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