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

Change Detection with structural similarity

L'idea di base e' quella di cercare le differenze tra le due immagini sottostanti Non e' immediatamente visibile ma ci sono dei ...