LINUX.ORG.RU

avr-toolchain's, makefile, qtcreator trouble

 , , ,


0

1

добрый день

исходные данные

- avr-toolchain (несколько версий)
- qtreator (версия меняться не будет)
- makefile (универсальный, кастомный, под себя :о)

трабла:

сборка с использованием разных версий toolchain's

при сборке в ком.строке - без проблем :о)

при использовании дефолтной версии avr-toolchain - qtcreator не выпендривается, все его устравивает

при использовании кастомных версии avr-toolchain - qtcreator видит след. сообщение как ошибку

avr-objcopy:-1: --change-section-lma .eeprom=0x00000000 never used

причем, выхлоп сборки просто подкрашен красным, без отметки error
в окне issues - так-же красуется варнинг, без ошибки, но если ткнуть по данной строке и скопировать содержимое текста, получаем в качестве бонуса error:

avr-objcopy:-1: error: --change-section-lma .eeprom=0x00000000 never used

причем, сама сборка проходит нормально!!! :о)

т.е. данное сообщение не нравиться только qtcreator-у!
как бы ему мозги вправить на уровне терапии, без трепанаций :о)?

секция в Makefile

%.eep: %.elf
	@echo
	@echo $(MSG_EEPROM)
	@echo $(TAG_STR) $@
	@echo.
	-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
	--change-section-lma .eeprom=0 -O $(FORMAT) $(OUTDIR)/$< $(OUTDIR)/$@

# DEF (дефолтная версия тулчейна)

avr default toolchain:
- avr-binutils-2.25-i486-sl12.2
- avr-gcc-4.9.2-i486-sl12.2
- avr-gdb-7.8.1-i486-sl12.2
- avr-libc-1.8.1-i486-sl12.2

# custom avr-toolchain

3.4.2, 3.5.4, 3.6.2

Slackware 12.2 x32
Qt Creator 3.1.2 / Based on Qt 4.8.7 (GCC 4.2.4, 32 bit)

ibb.co_screenshot

### UPDATE ###
данный ключик спасает отца русской демократии :o)

--change-section-lma .eeprom=0 --no-change-warnings --no-adjust-warnings \

★★★★

Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от dvetutnev

да... он еще та бухтилка, жузилка и перделка... с этими будем дружить, с этими нет, ... а этих вообще в ж...

sunjob ★★★★
() автор топика
Ответ на: комментарий от dvetutnev

хотя С99 такое вполне допускает.

Конечно нет.

The definition

void main() { /* ... */ }

is not and never has been C++, nor has it even been C.

https://www.stroustrup.com/bs_faq2.html#void-main

https://gcc.godbolt.org/z/a9x817

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от dvetutnev

спасибо парни, это, ск.всего, старый креатор тупит :о) мало-ли чего у него там на уме?! :о)

sunjob ★★★★
() автор топика

парсинг ошибок в креаторе заточен под выхлоп компилятора, поэтому пожет ложно помечать как ошибки выхлоп других тулзов. у меня, например, ругается на выхлоп ассемблера.

anonymous
()
Ответ на: комментарий от anonymous

ну об этом и речь :о) спасибо

sunjob ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.