martedì 16 aprile 2019

Classi in C++ con CMake ed Eclipse

Questa cosa di CMake mi sta iniziando a dare fastidio....(devo ogni volta capire come sono cambiate le cose rispetto a make)

Diciamo di avere questa stupida classe
schermo.cpp
---------------------------------------------------
#include "schermo.h"

void schermo::aggiorna()
{
schermo::matrice[1] = 100;
}

schermo::schermo() {
schermo::matrice[1]=0;
}

schermo::~schermo() {
}
------------------------------------------------------

schermo.h
------------------------------------------------------
#ifndef SCHERMO_H_
#define SCHERMO_H_

class schermo {
public:
schermo();
void aggiorna();
virtual ~schermo();
int matrice [100];
private:

};

#endif /* SCHERMO_H_ */
------------------------------------------------------

ed un altro altrettanto stupido codice che chiama la classe
ad.cpp
------------------------------------------------------
#include <iostream>
#include <string>
#include "schermo.h"

using namespace std;

schermo ss;

int main(int argc, char **argv) {
int numero = ss.matrice[1];
auto s = std::to_string(numero);
cout << s << endl;
ss.aggiorna();
numero = ss.matrice[1];
s = std::to_string(numero);
cout << s << endl;
return 0;
}
------------------------------------------------------

per compilare la classe nella liberia esterna si deve modificare il file CMakeLists.txt come segue nella parte evidenziata (cioe' richiamando sia il sorgente che l'header della classe)

------------------------------------------------------
cmake_minimum_required (VERSION 2.6)

project (ad)

add_executable(ad ad.cpp schermo.cpp schermo.h)

------------------------------------------------------


Nessun commento:

Posta un commento

ESP32 logger low power

A seguito del precedente post in questo caso il logger e' stato fatto con una ESP32S3  Al contrario di Arduino dove i dati erano salvat...