From e39d0b4c759e5d4f03c1b10114ff79a23f473842 Mon Sep 17 00:00:00 2001 From: Emanuele Trabattoni Date: Sun, 16 May 2021 16:22:06 +0200 Subject: [PATCH] now links remembre to add extern "C" when including pure C files!!!!! --- CMakeLists.txt | 4 +++- include/CMakeLists.txt | 3 +++ include/myclass.cpp | 8 ++++++++ include/myclass.h | 10 ++++++++++ libs/CMakeLists.txt | 6 +++++- libs/epaper/CMakeLists.txt | 11 ----------- src/CMakeLists.txt | 22 ++++++++++++---------- src/main.cpp | 17 +++++++++++------ 8 files changed, 52 insertions(+), 29 deletions(-) create mode 100644 include/CMakeLists.txt create mode 100644 include/myclass.cpp create mode 100644 include/myclass.h delete mode 100644 libs/epaper/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index da9f78b..4e4f291 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,5 +10,7 @@ set(CMAKE_CXX_STANDARD 17) # Initialize the SDK pico_sdk_init() -add_subdirectory(src) +add_subdirectory(include) add_subdirectory(libs) +add_subdirectory(src) + diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt new file mode 100644 index 0000000..10f322c --- /dev/null +++ b/include/CMakeLists.txt @@ -0,0 +1,3 @@ +aux_source_directory(. DIR_Include_SRCS) + +add_library(MyLibs ${DIR_Include_SRCS}) diff --git a/include/myclass.cpp b/include/myclass.cpp new file mode 100644 index 0000000..ff16bb3 --- /dev/null +++ b/include/myclass.cpp @@ -0,0 +1,8 @@ +#include "myclass.h" + +Myclass::Myclass(int a): +_a(a) +{ + return; +}; + diff --git a/include/myclass.h b/include/myclass.h new file mode 100644 index 0000000..2924a59 --- /dev/null +++ b/include/myclass.h @@ -0,0 +1,10 @@ +class Myclass { + public: + Myclass(int a); + + public: + void culo() {}; + + private: + int _a; +}; \ No newline at end of file diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index e438765..c26f6ae 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -1 +1,5 @@ -add_subdirectory(epaper) \ No newline at end of file +#include e-Paper subdirectories +add_subdirectory(epaper/Config) +add_subdirectory(epaper/e-Paper) +add_subdirectory(epaper/Fonts) +add_subdirectory(epaper/GUI) diff --git a/libs/epaper/CMakeLists.txt b/libs/epaper/CMakeLists.txt deleted file mode 100644 index 2ea5230..0000000 --- a/libs/epaper/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# add a compilation subdirectory -add_subdirectory(Config) -add_subdirectory(e-Paper) -add_subdirectory(Fonts) -add_subdirectory(GUI) - -# add a header directory -include_directories(Config) -include_directories(e-Paper) -include_directories(Fonts) -include_directories(GUI) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3011a45..287ff50 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,5 @@ # add a header directory +include_directories(../include) include_directories(../libs/epaper/Config) include_directories(../libs/epaper/e-Paper) include_directories(../libs/epaper/GUI) @@ -7,19 +8,20 @@ include_directories(../libs/epaper/Fonts) #add executable for main add_executable(emon main.cpp) -# Pull in our pico_stdlib which aggregates commonly used features -target_link_libraries(emon - hardware_spi - pico_stdlib - ePaper - GUI - Fonts - Config - ) - # enable usb output, disable uart output pico_enable_stdio_usb(emon 1) pico_enable_stdio_uart(emon 0) # create map/bin/hex/uf2 file etc. pico_add_extra_outputs(emon) + +# Pull in our pico_stdlib which aggregates commonly used features +target_link_libraries(emon + hardware_spi + pico_stdlib + Config + ePaper + GUI + Fonts + MyLibs + ) diff --git a/src/main.cpp b/src/main.cpp index 3de31f3..4b977bc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,9 +1,12 @@ #include - #include -#include -#include -#include + +// Ricrdarsi di inserire cosi' tutte le lebrerie C altrimenti non LINKA, vaccamiseria +extern "C" { + #include +} + +#include int main(){ stdio_init_all(); @@ -13,8 +16,10 @@ int main(){ bool s=false; uint32_t i=0; - EPD_2IN9B_V3_Init(); - + auto a(Myclass(3)); + a.culo(); + + EPD_2IN9D_Init(); while (true) { printf("[%u] Hello, world!\n",i++);