0

I am attempting to get TCP/IP working on an RPi Pico using LWIP - specifically to get a HTTP page. But I'm having massive problems with, I suspect, by CMakeLists.txt file.

The error I'm currently getting is

In file included from /home/src/pico/pico-extras/lib/lwip/src/core/init.c:42:
/home/src/pico/pico-extras/lib/lwip/src/include/lwip/sys.h:95:10: fatal error: arch/sys_arch.h: No such file or directory

My CMakeLists.txt file is:

cmake_minimum_required( VERSION 3.13 )

include( $ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake )
include( $ENV{PICO_EXTRAS_PATH}/external/pico_extras_import.cmake )

project( ds3231 C CXX ASM )
set( CMAKE_C_STANDARD 11 )
set( CMAKE_CXX_STANDARD 17 )
pico_sdk_init( )

set( SOURCES src/ds3231.cpp )
add_executable( ${CMAKE_PROJECT_NAME} ${SOURCES} )

pico_enable_stdio_usb( ${CMAKE_PROJECT_NAME} 1 )
pico_enable_stdio_uart( ${CMAKE_PROJECT_NAME} 0 )
pico_add_extra_outputs( ${CMAKE_PROJECT_NAME} )

include_directories( $ENV{PICO_EXTRAS_PATH}/lib/lwip/src/include
                     $ENV{PICO_EXTRAS_PATH}/src/rp2_common/lwip/include
                     /home/src/pico/ds3231/src
                     /home/src/pico/picolib/include )
target_compile_definitions( ${CMAKE_PROJECT_NAME} PRIVATE WIFI_SSID=${WIFI_SSID}
                                                          WIFI_PASSWORD=${WIFI_PASSWORD} )
target_compile_options( ${CMAKE_PROJECT_NAME} PRIVATE -Wall )
target_link_libraries( ${CMAKE_PROJECT_NAME} pico_stdlib
                                             hardware_i2c
                                             lwip
                                             pico_cyw43_arch_lwip_threadsafe_background
                                             /home/src/pico/picolib/build/libpicolib.a )

HELP! Please!!!

Kevin Gilbert
  • 671
  • 10
  • 18

1 Answers1

0

To answer my own question (after having to empty the swear jar 3 times):

cmake_minimum_required( VERSION 3.13 )

include( $ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake )
include( $ENV{PICO_EXTRAS_PATH}/external/pico_extras_import.cmake )

project( ds3231 C CXX ASM )
set( CMAKE_C_STANDARD 11 )
set( CMAKE_CXX_STANDARD 17 )
pico_sdk_init( )

set( SOURCES src/ds3231.cpp )
add_executable( ${CMAKE_PROJECT_NAME} ${SOURCES} )

pico_enable_stdio_usb( ${CMAKE_PROJECT_NAME} 1 )
pico_enable_stdio_uart( ${CMAKE_PROJECT_NAME} 0 )
pico_add_extra_outputs( ${CMAKE_PROJECT_NAME} )

include_directories( /home/src/pico/ds3231/src /home/src/pico/picolib/include )
target_compile_definitions( ${CMAKE_PROJECT_NAME} PRIVATE WIFI_SSID=${WIFI_SSID}
                                                          WIFI_PASSWORD=${WIFI_PASSWORD} )
target_compile_options( ${CMAKE_PROJECT_NAME} PRIVATE -Wall )
target_link_libraries( ${CMAKE_PROJECT_NAME} pico_stdlib
                                             hardware_i2c
                                             pico_cyw43_arch_lwip_threadsafe_background
                                             /home/src/pico/picolib/build/libpicolib.a )
Kevin Gilbert
  • 671
  • 10
  • 18