So it should be possible? At least that's good news...
However I get a unspecified compile error now:
CMakeLists.txtOutput:Simple test program:Output:I can't find any error cause within the building log... is there any C++ example out there?
However I get a unspecified compile error now:
CMakeLists.txt
Code:
cmake_minimum_required(VERSION 3.13)include(pico_sdk_import.cmake)project(nixie C CXX ASM)set(CMAKE_C_STANDARD 11)set(CMAKE_CXX_STANDARD 17)pico_sdk_init()add_executable(nixie nixie.cpp)pico_enable_stdio_usb(nixie 1)pico_add_extra_outputs(nixie)target_link_libraries(nixie pico_stdlib)
Code:
[main] Configuring project: myownnixie [proc] Executing command: D:\Projects\pico\cmake\bin\cmake.EXE --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_MODULE_PATH:STRING=D:/Projects/pico/pico-sdk-tools -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_TOOLCHAIN_FILE:FILEPATH=D:/Projects/pico/pico-sdk/cmake/preload/toolchains/pico_arm_gcc.cmake -SD:/Projects/pico/myownnixie -Bd:/Projects/pico/myownnixie/build -G Ninja[cmake] Not searching for unused variables given on the command line.[cmake] PICO_SDK_PATH is D:/Projects/pico/pico-sdk[cmake] PICO platform is rp2040.[cmake] Build type is Debug[cmake] Using regular optimized debug build (set PICO_DEOPTIMIZED_DEBUG=1 to de-optimize)[cmake] PICO target board is pico.[cmake] Using board configuration from D:/Projects/pico/pico-sdk/src/boards/include/boards/pico.h[cmake] TinyUSB available at D:/Projects/pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.[cmake] Compiling TinyUSB with CFG_TUSB_DEBUG=1[cmake] BTstack available at D:/Projects/pico/pico-sdk/lib/btstack[cmake] cyw43-driver available at D:/Projects/pico/pico-sdk/lib/cyw43-driver[cmake] Pico W Bluetooth build support available.[cmake] lwIP available at D:/Projects/pico/pico-sdk/lib/lwip[cmake] mbedtls available at D:/Projects/pico/pico-sdk/lib/mbedtls[cmake] Using PICO_EXAMPLES_PATH from environment ('D:\Projects\pico\pico-examples')[cmake] -- Configuring done[cmake] -- Generating done[cmake] -- Build files have been written to: D:/Projects/pico/myownnixie/build
Code:
#include <stdio.h>#include "pico/stdlib.h"#include "hardware/gpio.h"#include "pico/binary_info.h"class Nixie { public: Nixie() { gpio_init(25); gpio_set_dir(25, GPIO_OUT); while(true) { gpio_put(25, true); sleep_ms(200); gpio_put(25, false); sleep_ms(800); } } int main() { new Nixie(); return 1; }};
Code:
[main] Building folder: myownnixie [build] Starting build[proc] Executing command: D:\Projects\pico\cmake\bin\cmake.EXE --build d:/Projects/pico/myownnixie/build --config Debug --target all --[build] [1/1 100% :: 0.486] Linking CXX executable nixie.elf[build] FAILED: nixie.elf [build] cmd.exe /C "cd . && D:\Projects\pico\gcc-arm-none-eabi\bin\arm-none-eabi-g++.exe -mcpu=cortex-m0plus -mthumb -Og -g -Wl,--build-id=none --specs=nosys.specs -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=__clzsi2 -Wl,--wrap=__clzdi2 -Wl,--wrap=__ctzsi2 -Wl,--wrap=__ctzdi2 -Wl,--wrap=__popcountsi2 -Wl,--wrap=__popcountdi2 -Wl,--wrap=__clz -Wl,--wrap=__clzl -Wl,--wrap=__clzll -Wl,--wrap=__aeabi_idiv -Wl,--wrap=__aeabi_idivmod -Wl,--wrap=__aeabi_ldivmod -Wl,--wrap=__aeabi_uidiv -Wl,--wrap=__aeabi_uidivmod -Wl,--wrap=__aeabi_uldivmod -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_lmul -Wl,--wrap=__aeabi_fadd -Wl,--wrap=__aeabi_fdiv -Wl,--wrap=__aeabi_fmul -Wl,--wrap=__aeabi_frsub -Wl,--wrap=__aeabi_fsub -Wl,--wrap=__aeabi_cfcmpeq -Wl,--wrap=__aeabi_cfrcmple -Wl,--wrap=__aeabi_cfcmple -Wl,--wrap=__aeabi_fcmpeq -Wl,--wrap=__aeabi_fcmplt -Wl,--wrap=__aeabi_fcmple -Wl,--wrap=__aeabi_fcmpge -Wl,--wrap=__aeabi_fcmpgt -Wl,--wrap=__aeabi_fcmpun -Wl,--wrap=__aeabi_i2f -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ui2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2iz -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2uiz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=__aeabi_f2d -Wl,--wrap=sqrtf -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=sincosf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free -Wl,--wrap=memcpy -Wl,--wrap=memset -Wl,--wrap=__aeabi_memcpy -Wl,--wrap=__aeabi_memset -Wl,--wrap=__aeabi_memcpy4 -Wl,--wrap=__aeabi_memset4 -Wl,--wrap=__aeabi_memcpy8 -Wl,--wrap=__aeabi_memset8 -Wl,-Map=nixie.elf.map -Wl,--script=D:/Projects/pico/pico-sdk/src/rp2_common/pico_standard_link/memmap_default.ld -Wl,-z,max-page-size=4096 -Wl,--gc-sections -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--wrap=getchar @CMakeFiles\nixie.rsp -o nixie.elf && cmd.exe /C "cd /D D:\Projects\pico\myownnixie\build && D:\Projects\pico\gcc-arm-none-eabi\bin\arm-none-eabi-objcopy.exe -Oihex D:/Projects/pico/myownnixie/build/nixie.elf nixie.hex && cd /D D:\Projects\pico\myownnixie\build && D:\Projects\pico\gcc-arm-none-eabi\bin\arm-none-eabi-objcopy.exe -Obinary D:/Projects/pico/myownnixie/build/nixie.elf nixie.bin && cd /D D:\Projects\pico\myownnixie\build && D:\Projects\pico\gcc-arm-none-eabi\bin\arm-none-eabi-objdump.exe -h D:/Projects/pico/myownnixie/build/nixie.elf > nixie.dis && D:\Projects\pico\gcc-arm-none-eabi\bin\arm-none-eabi-objdump.exe -d D:/Projects/pico/myownnixie/build/nixie.elf >> nixie.dis && cd /D D:\Projects\pico\myownnixie\build && D:\Projects\pico\pico-sdk-tools\elf2uf2.exe D:/Projects/pico/myownnixie/build/nixie.elf nixie.uf2""[build] d:/projects/pico/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/bin/ld.exe: CMakeFiles/nixie.dir/D_/Projects/pico/pico-sdk/src/rp2_common/pico_standard_link/crt0.S.obj: in function `hold_non_core0_in_bootrom':[build] D:/Projects/pico/pico-sdk/src/rp2_common/pico_standard_link/crt0.S:259: undefined reference to `main'[build] collect2.exe: error: ld returned 1 exit status[build] ninja: build stopped: subcommand failed.[proc] The command: D:\Projects\pico\cmake\bin\cmake.EXE --build d:/Projects/pico/myownnixie/build --config Debug --target all -- exited with code: 1[driver] Build completed: 00:00:00.577[build] Build finished with exit code 1
Statistics: Posted by Michel_0 — Sun May 05, 2024 9:07 pm