Hello fellow tinkerers!
I've been trying to set up CLion to work with building ELF2 an UF2 files, but I've been having a bit of struggles.
I'm trying to use the [Raspberry Pi Pico SDK](
https://github.com/raspberrypi/pico-sdk/tree/master ).
My host machine is Windows 10 and I'm using the [GNU Arm Embedded Toolchain](
https://developer.arm.com/downloads/-/gnu-rm ) as shown in the image.
cmake
cmake_minimum_required(VERSION 3.26)
# Check if SDK exists, it not then fetch it from remote git
set(PICO_SDK_FETCH_FROM_GIT ON)
# Pull in Pico SDK
include(pico_sdk_import.cmake)
project(TestProject)
# Initialise Pico SDK
pico_sdk_init()
# Main source files
add_executable(TestProject
src/main.c
)
# Add pico_stdlib library which aggregates commonly used features
target_link_libraries(TestProject pico_stdlib)
# Create map/bin/hex/uf2 file in addition to ELF.
pico_add_extra_outputs(TestProject)
My CMakeLists reloads perfectly fine and the Pico SDK is fetched into the build
cmake-build-pico build directory.
I've used the blink example to test if this setup works:
c
/
Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
SPDX-License-Identifier: BSD-3-Clause
/
#include "pico/stdlib.h"
int main() {
#ifndef PICO_DEFAULT_LED_PIN
#warning blink example requires a board with a regular LED
#else
const uint LED_PIN = PICO_DEFAULT_LED_PIN;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true) {
gpio_put(LED_PIN, 1);
sleep_ms(250);
gpio_put(LED_PIN, 0);
sleep_ms(250);
}
#endif
}
When hovering over the import I get a syntax error "'pico/stdlib.h' file not found".
When attempting to build I get the following:
====================[ Build | TestProject | Pico ]================================
C:\Users\Marcel\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\232.9921.42\bin\cmake\win\x64\bin\cmake.exe --build C:\Users\Marcel\CLionProjects\TestProject\cmake-build-pico --target TestProject -j 10
[1/51] Performing configure step for 'ELF2UF2Build'
FAILED: elf2uf2/src/ELF2UF2Build-stamp/ELF2UF2Build-configure C:/Users/Marcel/CLionProjects/TestProject/cmake-build-pico/elf2uf2/src/ELF2UF2Build-stamp/ELF2UF2Build-configure
cmd.exe /C "cd /D C:\Users\Marcel\CLionProjects\TestProject\cmake-build-pico\elf2uf2 && C:\Users\Marcel\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\232.9921.42\bin\cmake\win\x64\bin\cmake.exe -DCMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/Marcel/AppData/Local/JetBrains/Toolbox/apps/CLion/ch-0/232.9921.42/bin/ninja/win/x64/ninja.exe -GNinja -S C:/Users/Marcel/CLionProjects/TestProject/cmake-build-pico/_deps/pico_sdk-src/tools/elf2uf2 -B C:/Users/Marcel/CLionProjects/TestProject/cmake-build-pico/elf2uf2 && C:\Users\Marcel\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\232.9921.42\bin\cmake\win\x64\bin\cmake.exe -E touch C:/Users/Marcel/CLionProjects/TestProject/cmake-build-pico/elf2uf2/src/ELF2UF2Build-stamp/ELF2UF2Build-configure"
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_C_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
ninja: build stopped: subcommand failed.
Tracing back to the files it seems to attempt to use, things like
.../cmake-build-pico/elf2uf2/src/ELF2UF2Build-stamp/ELF2UF2Build-configure
cmd.exe which aren't present as shown in the 2nd image.
What am I doing wrong? Any resources I can use?