Buongiorno.
Primi passi in Linux C++ e sto tentando di convertire in C++ un mio vecchio programma scritto in Visual Basic (versione per Visual Studio 10).
Utilizzo QtCreator e le librerie Qt, ma penso che il problema non sia di Qt, bensì di qualche particolare del C++ in generale che non conosco.
Se la prima parte del main la scrivo così:
#include <QtWidgets>
QMainWindow *X_mainWindow;
QMenuBar *X_menuBar;
QWidget *X_centralWidget;
int main(int argc, char *argv[])
e poi c'è un file .h in cui le stesse variabili le ho dichiarate "extern", il programma funziona correttamente.
Mentre se quelle stesse 3 variabili le scrivo in un file "dichiarative_unatantum.h" e le includo nel main così:
#include <QtWidgets>
#include "dichiarative_unatantum.h"
int main(int argc, char *argv[])
in compilazione mi dà errori del tipo "multiple definition of X_mainWindow".
Come mai succede questo ? La direttiva #include non dovrebbe simulare l'inserimento in quel particolare punto delle 3 variabili globali ?
Mi date una mano per capire ? Vi ringrazio.