abutorin 0 3 января, 2014 Опубликовано 3 января, 2014 · Жалоба Цель discovery является целью только для Eclipse. Eclipse получает информацию о путях для заголовочных файлов и всех объявленных define. Результат работы влияет на навигацию по проекту и подсветку синтаксиса. Вполне логично, что цель строится при изменении исходных кодов проекта. У себя не замечал частых вызовов. Это я понял. Когда эклипс вызывает эту команду? При изменении файлов исходного кода этого не происходит. Сейчас заметил что при сборке проекта тоже не происходит. Хочется заставить эклипс это делать автоматом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 3 января, 2014 Опубликовано 3 января, 2014 · Жалоба Когда эклипс вызывает эту команду? При изменении файлов исходного кода этого не происходит. Сейчас заметил что при сборке проекта тоже не происходит. Хочется заставить эклипс это делать автоматом. Первый запуск будет после заполнения настроек в Eclipse для цели discovery. Clear Entries, Apply вызывает перестроение зависимостей. Для постоянного вызова можно включить discovery в цель all, но зачем это? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
abutorin 0 3 января, 2014 Опубликовано 3 января, 2014 · Жалоба Первый запуск будет после заполнения настроек в Eclipse для цели discovery. Clear Entries, Apply вызывает перестроение зависимостей. Для постоянного вызова можно включить discovery в цель all, но зачем это? После внесения изменений каких либо дефайнов в исходниках эклипс этого не замечает. И продолжает ругаться что где-то, что-то не определено, хотя сборка происходит корректно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 3 января, 2014 Опубликовано 3 января, 2014 · Жалоба После внесения изменений каких либо дефайнов в исходниках эклипс этого не замечает. И продолжает ругаться что где-то, что-то не определено, хотя сборка происходит корректно. сейчас проверил на тестовом проекте. Изменил специально один define для условной компиляции. После пересборки подсвечиваются необходимые ветки условной компиляции. Как Вы настраиваете Eclipse и какой Makefile? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
abutorin 0 3 января, 2014 Опубликовано 3 января, 2014 · Жалоба сейчас проверил на тестовом проекте. Изменил специально один define для условной компиляции. После пересборки подсвечиваются необходимые ветки условной компиляции. Как Вы настраиваете Eclipse и какой Makefile? Настраивал как вы рекомендовали в этой ветке. В разделе C/C++ Generel->Preprocessor Include/Providers галка CDTGCC Built-in Compiler Settings команда make specs_file=${INPUTS} discovery галка Allocate console in the concole view Остальные галки сняты Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 4 января, 2014 Опубликовано 4 января, 2014 · Жалоба Во вкладке Providers у меня отмечены некоторые настройки: CDT User Setting Entries CDT Managed Build Setting Entries [shared] CDT GCC Build Output Parser Настройки там не менялись. В Makefile изменения идеалогически правильно делать как указал IgorKossak. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 5 января, 2014 Опубликовано 5 января, 2014 · Жалоба Я понял, что на вкладке Providers достаточно оставить только CDT GCC Build-in compiler settings без галки "Use global provider shared between projects" (с ней эклипс пытается выполнить команду черт знает в какой директории и не находит там нужного makefile). CDT GCC Build Output Parser добавляет установки (директории заголовочных файлов, по умолчанию предопределенные символы и т.д.) от системного компилятора, которые абсолютно не нужны при кросс-компиляции. Если память не изменяет, цель discovery вызывается не только после build, но еще и при принудительной переиндексации проекта (Project->C/C++ Index -> Rebuild). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
abutorin 0 5 января, 2014 Опубликовано 5 января, 2014 · Жалоба Если память не изменяет, цель discovery вызывается не только после build, но еще и при принудительной переиндексации проекта (Project->C/C++ Index -> Rebuild). Никак не пойму. Она у меня только вызывается при изменении настроек. При ребилде не вызывается. При переиндексации тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 5 января, 2014 Опубликовано 5 января, 2014 · Жалоба Window->Preferences->C/C++->Indexer + Automatically update the index + Update index immediately after every file-save Всё абсолютно верно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
abutorin 0 5 января, 2014 Опубликовано 5 января, 2014 · Жалоба Window->Preferences->C/C++->Indexer + Automatically update the index + Update index immediately after every file-save Похоже часть проблемы была в компе. Попробовал на другой машине все указанные настройки. Ручная переиндексация работает, обновление при пересборке работает. Но автоматическое обновление при сохранении файла не работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 5 января, 2014 Опубликовано 5 января, 2014 · Жалоба CDT GCC Build Output Parser добавляет установки (директории заголовочных файлов, по умолчанию предопределенные символы и т.д.) от системного компилятора, которые абсолютно не нужны при кросс-компиляции. У меня выбран, но при просмотре найденных путей и define нет ничего от системного компилятора (mingw32-gcc), под linux не проверял. Позже посмотрю. А если не влият, то и не надо лишних действий, и можно отключить. Window->Preferences->C/C++->Indexer + Automatically update the index + Update index immediately after every file-save Так это вроде как по умолчанию выбрано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 14 ноября, 2014 Опубликовано 14 ноября, 2014 · Жалоба Я тут наконец-то дозрел до перехода на Luna. Вспомнил про эту тему, проштудировал. Давайте я для потомков подытожу: Настройка обнаружения дефайнов в Eclipse Kepler и более поздних Project->Properties->C/C++ General->Preprocessor Include Paths, Macros etc.->Providers: Снимаем все прички в списке "Providers"; Ставим причку на "CDT GCC Built-in compiler settings"; В настройках этого провайдера: снимаем птичку "Use global provider shared between projects"; в строке "Command to get compiler specs" прописываем: make extension="${EXT}" specs_file="${INPUTS}" discovery В makefile создаём цель для дисковеринга: # specs_file has extension "C" for C++ and "c" for C. discovery: ifeq ($(extension),c) @echo -- discovery for $(CC) $(CC) $(INCS) $(CFLAGS) -E -P -v -dD '$(specs_file)' else @echo -- discovery for $(CCX) $(CXX) $(INCS) $(CXXFLAGS) -E -P -v -dD '$(specs_file)' endif $(RM) spec.d Если вдруг индексация не выполняется при изменении файлов проекта, зайти в Window->Preferences->C/C++->Indexer и проверить установку следующих птичек : Automatically update the index Update index immediately after every file-save Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 14 ноября, 2014 Опубликовано 14 ноября, 2014 · Жалоба По поводу индексации Антоха сказал всё правильно, но этого бывает не достаточно. Например, после изменения пути к тулчейну, изменения дефайнов в мейкфайле, и т. д. Для обновления состояния проекта надо ещё провести "редискаверинг" - в настройках провайдера CDT GCC Built-in compiler settings нажать кнопку Clear Entries, потом Apply и наконец OK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aaron 1 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Оу, спасибо! Наконец-то индексация в Luna заработала адекватно ))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 8 января, 2015 Опубликовано 8 января, 2015 · Жалоба Я тут наконец-то дозрел до перехода на Luna. Вспомнил про эту тему, проштудировал. Давайте я для потомков подытожу: можно увидеть Ваш вывод в консоль при вызове Index->Rebuild ? не могу добиться стабильности на Luna - во первых команда Index->Rebuild ничего на консоль не выводит, манипуляция Properties->Providers->Clear Entries->Apply(OK) работает через раз (на консоль выводит, entries обновляет, завершается, правда, цель discovery с ошибкой) - перезапуск среды помогает. 23:12:08 **** Running scanner discovery: CDT GCC Built-in Compiler Settings **** make extension=C specs_file=D:/Prog/EclipseWS/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C discovery COMSPEC detected C:\Windows\system32\cmd.exe SHELL is C:/Windows/system32/cmd.exe, REMOVE_CMD is cs-rm -- discovery for "C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin"\arm-none-eabi-gcc "C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin"\arm-none-eabi-gcc "C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2014q4/arm-none-eabi/include" . ./cmsis -ggdb -Os -mcpu=cortex-m0 -mthumb-interwork -DVECT_TAB_FLASH -DFLASH_RUN -DLPC1114 -DLPC1114_TK -I. -I./cmsis -I. -ffunction-sections -fdata-sections -Wall -Wextra -Wcast-align -Wpointer-arith -Wredundant-decls -Wshadow -Wcast-qual -Wcast-align -Wa,-adhlns= -E -P -v -dD 'D:/Prog/EclipseWS/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C' arm-none-eabi-gcc: error: 'D:/Prog/EclipseWS/.metadata/.plugins/org.eclipse.cdt.managedbuilder.core/spec.C': Invalid argument Using built-in specs. COLLECT_GCC=C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin\arm-none-eabi-gcc Target: arm-none-eabi Configured with: /home/build/work/GCC-4-9-build/src/gcc/configure --build=i686-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/home/build/work/GCC-4-9-build/install-mingw --libexecdir=/home/build/work/GCC-4-9-build/install-mingw/lib --infodir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-9-build/install-mingw/arm-none-eabi --with-libiconv-prefix=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-gmp=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpfr=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpc=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-isl=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-cloog=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-libelf=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r Thread model: single gcc version 4.9.3 20141119 (release) [ARM/embedded-4_9-branch revision 218278] (GNU Tools for ARM Embedded Processors) make: *** [discovery] Error 1 23:12:08 Build Finished (took 187ms) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться