nxp-mcuxpresso / vscode-for-mcux

Support for NXP Visual Studio Code for MCUXpresso Extension project.
17 stars 1 forks source link

Linking issue with CPP projects #40

Closed swaraj429 closed 2 months ago

swaraj429 commented 4 months ago

Type: Bug

Import any CPP project in vscode and you will face the issue. I am using RT1160 Eval kit.

Error on terminal: build task started.... C:\Users\INF108.mcuxpressotools\cmake-3.28.1-windows-x86_64\bin\cmake.EXE --build c:/Users/INF108/tests/mcuxpresso/Test_project_2/armgcc/debug --config debug --target all -- [22/31 3% :: 0.208] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/xmcd.o [23/31 6% :: 0.220] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/dcd.o [24/31 9% :: 0.602] Building CXX object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/cpp_config.o [25/31 12% :: 0.751] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/startup/boot_multicore_slave.o [26/31 16% :: 0.930] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/device/system_MIMXRT1166_cm7.o [27/31 19% :: 0.941] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_gpio.o [28/31 22% :: 0.966] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_common_arm.o [29/31 25% :: 1.000] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/lists/fsl_component_generic_list.o [30/31 29% :: 1.061] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_anatop_ai.o [30/31 32% :: 1.074] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_pmu.o [30/31 35% :: 1.075] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/peripherals.o [30/31 38% :: 1.079] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/uart/fsl_adapter_lpuart.o [30/31 41% :: 1.083] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_dcdc.o [30/31 45% :: 1.092] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_common.o [30/31 48% :: 1.099] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_lpuart.o [30/31 51% :: 1.099] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/pin_mux.o [30/31 54% :: 1.140] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/board.o [30/31 58% :: 1.141] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/serial_manager/fsl_component_serial_manager.o [30/31 61% :: 1.145] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/semihost_hardfault.o [30/31 64% :: 1.155] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_clock.o [30/31 67% :: 1.175] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/serial_manager/fsl_component_serial_port_uart.o [30/31 70% :: 1.213] Building CXX object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/Test_project_2.o [30/31 74% :: 1.234] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_flexcan.o [30/31 77% :: 1.319] Building CXX object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/startup/startup_mimxrt1166_cm7.o [30/31 80% :: 1.340] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/clock_config.o [30/31 83% :: 1.451] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_str.o [30/31 87% :: 1.565] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/xip/evkmimxrt1160_flexspi_nor_config.o [30/31 90% :: 1.566] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_assert.o [30/31 93% :: 1.567] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/xip/fsl_flexspi_nor_boot.o [30/31 96% :: 1.568] Building C object CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_debug_console.o [31/31 100% :: 1.908] Linking CXX executable Test_project_2.elf FAILED: Test_project_2.elf C:\Windows\system32\cmd.exe /C "cd . && C:\NXP\MCUXpressoIDE_11.9.1_2170\ide\tools\bin\arm-none-eabi-g++.exe -fstack-usage -DNEWLIB -fstack-usage -DNEWLIB -mfpu=fpv5-sp-d16 -mfloat-abi=hard -DSDK_DEBUGCONSOLE=1 -DCPU_MIMXRT1166DVM6A -DCPU_MIMXRT1166DVM6A_cm7 -DSDK_OS_BAREMETAL -DXIP_EXTERNAL_FLASH=1 -DXIP_BOOT_HEADER_ENABLE=1 -DXIP_BOOT_HEADER_DCD_ENABLE=0 -DXIP_BOOT_HEADER_XMCD_ENABLE=1 -DSERIAL_PORT_TYPE_UART=1 -DMCUXPRESSO -DUSE_CMSIS -DDEBUG -O0 -fno-common -fmerge-constants -g3 -Wall -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -fno-rtti -fno-exceptions -fstack-usage -mcpu=cortex-m7 -mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=hard --specs=nano.specs -Xlinker -Map=output.map -Xlinker --gc-sections -Xlinker -print-memory-usage -Xlinker --sort-section=alignment -Xlinker --cref -mcpu=cortex-m7 -mthumb -T"C:/Users/INF108/tests/mcuxpresso/Test_project_2/armgcc/Test_project_2_Debug.ld" -Wl,--no-warn-rwx-segments CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/xmcd.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/pin_mux.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/peripherals.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/dcd.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/clock_config.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/board/board.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/uart/fsl_adapter_lpuart.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/serial_manager/fsl_component_serial_port_uart.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/serial_manager/fsl_component_serial_manager.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/component/lists/fsl_component_generic_list.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/device/system_MIMXRT1166_cm7.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_pmu.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_lpuart.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_gpio.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_flexcan.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_dcdc.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_common_arm.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_common.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_clock.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/drivers/fsl_anatop_ai.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/Test_project_2.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/semihost_hardfault.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/source/cpp_config.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/startup/startup_mimxrt1166_cm7.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/startup/boot_multicore_slave.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_str.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_debug_console.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/utilities/fsl_assert.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/xip/fsl_flexspi_nor_boot.o CMakeFiles/Test_project2.elf.dir/C/Users/INF108/tests/mcuxpresso/Test_project_2/xip/evkmimxrt1160_flexspi_nor_config.o -o Test_project_2.elf -Wl,--start-group -lgcc -lc_nano -lm -lcr_newlib_nohost -Wl,--end-group && cd ." c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard\crti.o: in function _init': (.init+0x0): multiple definition of_init'; c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o:(.init+0x0): first defined here c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard\crti.o: in function _fini': (.fini+0x0): multiple definition of_fini'; c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crti.o:(.fini+0x0): first defined here c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard\crtbegin.o:(.data.dso_handle+0x0): multiple definition of `__dso_handle'; c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtbegin.o:(.data.dso_handle+0x0): first defined here c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard\crtend.o:(.tm_clone_table+0x0): multiple definition of `__TMC_END__'; c:/nxp/mcuxpressoide_11.9.1_2170/ide/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v7e-m+fp/hard/crtend.o:(.tm_clone_table+0x0): first defined here Memory region Used Size Region Size %age Used BOARD_FLASH: 38364 B 64 MB 0.06% SRAM_DTC_cm7: 8412 B 256 KB 3.21% SRAM_ITC_cm7: 0 GB 256 KB 0.00% SRAM_OC1: 0 GB 64 KB 0.00% SRAM_OC2: 0 GB 64 KB 0.00% SRAM_OC_cm7: 0 GB 128 KB 0.00% BOARD_SDRAM: 0 GB 48 MB 0.00% NCACHE_REGION: 0 GB 16 MB 0.00% collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed. build finished with error(s).

Extension version: 1.9.20 VS Code version: Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:13:33.891Z) OS version: Windows_NT x64 10.0.22631 Modes:

System Info |Item|Value| |---|---| |CPUs|12th Gen Intel(R) Core(TM) i9-12900H (20 x 2918)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|31.69GB (14.15GB free)| |Process Argv|--crash-reporter-id f20ea8eb-0d18-4b71-afea-52838957d883| |Screen Reader|no| |VM|0%|
A/B Experiments ``` vsliv368:30146709 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492:30256859 vstes627:30244334 vscod805:30301674 binariesv615:30325510 vsaa593:30376534 py29gd2263:31024239 vscaat:30438848 c4g48928:30535728 azure-dev_surveyone:30548225 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonidxpt:30866567 pythonnoceb:30805159 asynctok:30898717 pythontestfixt:30902429 pythonregdiag2:30936856 pythonmypyd1:30879173 pythoncet0:30885854 h48ei257:31000450 pythontbext0:30879054 accentitlementst:30995554 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 dsvsc020:30976470 pythonait:31006305 666c4381:31064718 chatpanelt:31048053 dsvsc021:30996838 jg8ic977:31013176 pythoncenvpt:31062603 a69g1124:31058053 dvdeprecation:31061160 pythonprt:31056678 dwnewjupyter:31046869 26j00206:31048877 ```
cristitep-nxp commented 4 months ago

Hi,

We'll address the issue in the next release. Until then, please add "-nostdlib" flag in project/armgcc/flags.cmake in the "set(CMAKE_EXE_LINKER_FLAGS_DEBUG" linker flags list.

Regards, Cristian

swaraj429 commented 4 months ago

Perfect This is working. At least am able to build and debug. Is there any consequences to this that I may expect?

cristitep-nxp commented 4 months ago

No side effect is expected, this is actually the fix we plan, as this missing flag was forcing some symbols duplication, so hence the error.