CMake Deprecation Warning


Sorry for my poor English and if question has been already solve.

I have never used cmake, I only want to turn a radiosonde to an amateur radio direction finding contests. For this I want to use this tutorial on GitHub:

I instaIl cmake 3.16, I download the RS4fox files, I unzip, I also download the latest GNU ARM Embedded toolchain, I uznip it in ~/opt/
I modify my CMakeLists.txt for set the correct path to the un-tar’d directory (of GNU toolchain).
I type cmake . and I have this error:

CMake Deprecation Warning at /usr/share/cmake-3.16/Modules/CMakeForceCompiler.cmake:75 (message):
The CMAKE_FORCE_C_COMPILER macro is deprecated. Instead just set
CMAKE_C_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):

CMake Deprecation Warning at /usr/share/cmake-3.16/Modules/CMakeForceCompiler.cmake:89 (message):
The CMAKE_FORCE_CXX_COMPILER macro is deprecated. Instead just set
CMAKE_CXX_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):

– Configuring done
– Generating done
– Build files have been written to: /home/vincent/RS41FOX-master

Someone can help me?
Vincent from France

Hi Vincent, Try to build anyway. The warnings are just as they say, the functions are deprecated but may still work.
So try:


Thanks for answer, I try and I obtain this error:

Scanning dependencies of target RS41FOX.elf
[ 4%] Building C object CMakeFiles/RS41FOX.elf.dir/cmsis_boot/startup/startup_stm32f10x_md_vl.c.obj
[ 9%] Building C object CMakeFiles/RS41FOX.elf.dir/cmsis_boot/system_stm32f10x.c.obj
[ 14%] Building C object CMakeFiles/RS41FOX.elf.dir/delay.c.obj
[ 19%] Building C object CMakeFiles/RS41FOX.elf.dir/init.c.obj
[ 23%] Building C object CMakeFiles/RS41FOX.elf.dir/main.c.obj
[ 28%] Building C object CMakeFiles/RS41FOX.elf.dir/morse.c.obj
[ 33%] Building C object CMakeFiles/RS41FOX.elf.dir/radio.c.obj
[ 38%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/misc.c.obj
[ 42%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_adc.c.obj
[ 47%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_dma.c.obj
[ 52%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_flash.c.obj
[ 57%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_gpio.c.obj
[ 61%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_pwr.c.obj
[ 66%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_rcc.c.obj
[ 71%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_spi.c.obj
[ 76%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_tim.c.obj
[ 80%] Building C object CMakeFiles/RS41FOX.elf.dir/stm_lib/src/stm32f10x_usart.c.obj
[ 85%] Building C object CMakeFiles/RS41FOX.elf.dir/syscalls/syscalls.c.obj
[ 90%] Building C object CMakeFiles/RS41FOX.elf.dir/ublox.c.obj
[ 95%] Building C object CMakeFiles/RS41FOX.elf.dir/util.c.obj
[100%] Linking C executable RS41FOX.elf
/home/vincent/opt/bin/…/lib/gcc/arm-none-eabi/10.2.1/…/…/…/…/arm-none-eabi/bin/ld: CMakeFiles/RS41FOX.elf.dir/main.c.obj:/home/vincent/RS41FOX-master/init.h:1: multiple definition of ADCVal'; CMakeFiles/RS41FOX.elf.dir/init.c.obj:/home/vincent/RS41FOX-master/init.h:1: first defined here /home/vincent/opt/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld: CMakeFiles/RS41FOX.elf.dir/ublox.c.obj:/home/vincent/RS41FOX-master/init.h:1: multiple definition of ADCVal’; CMakeFiles/RS41FOX.elf.dir/init.c.obj:/home/vincent/RS41FOX-master/init.h:1: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/RS41FOX.elf.dir/build.make:369 : RS41FOX.elf] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:104 : CMakeFiles/RS41FOX.elf.dir/all] Erreur 2
make: *** [Makefile:84 : all] Erreur 2

You have an idea of the problem?


No, this looks like a problem in the project itself. I would try to open a GitHub Issue for that project RS41Fox