Qt linux "QMAKE_CXXFLAGS + = -std = C ++ 11" is the equivalent for windows?

I'm a newbie, so please forgive me if this is really stupid.

I recently made a project using qt in ubuntu, and I used "QMAKE_CXXFLAGS + = -std = C ++ 11" for static binding, everything went fine, so I thought, why not recompile it on windows, and I did it.

This is node.h

#ifndef NODE_H #define NODE_H #include <iostream> #include <string> #include "qcustomplot.h" using namespace std; class node { public: double p[6]; string table[3000][9]; double splitPoints[8]; double giniA[8];//array of ginies obtained by partitioning on corresponding attributes double gini;//gini of a dataset int rowc=0;//row count int colc=0; int cc; std::string label; string a[9]; node* left=NULL; node* right=NULL; void plotGraph(QCustomPlot *customPlot); int optimize(int); }; #endif // NODE_H 

when I run my project, I get the following error messages:

  In file included from ..\mining app final(hopefully)\/mythread.h:4, from ..\mining app final(hopefully)\/mainwindow.h:8, from ..\mining app final(hopefully)\main.cpp:2: ..\mining app final(hopefully)\/node.h:16: error: ISO C++ forbids initialization of member 'rowc' ..\mining app final(hopefully)\/node.h:16: error: making 'rowc' static ..\mining app final(hopefully)\/node.h:16: error: ISO C++ forbids in-class initialization of non-const static member 'rowc' ..\mining app final(hopefully)\/node.h:17: error: ISO C++ forbids initialization of member 'colc' ..\mining app final(hopefully)\/node.h:17: error: making 'colc' static ..\mining app final(hopefully)\/node.h:17: error: ISO C++ forbids in-class initialization of non-const static member 'colc' ..\mining app final(hopefully)\/node.h:21: error: ISO C++ forbids initialization of member 'left' ..\mining app final(hopefully)\/node.h:21: error: making 'left' static ..\mining app final(hopefully)\/node.h:21: error: invalid in-class initialization of static data member of non-integral type 'node*' ..\mining app final(hopefully)\/node.h:22: error: ISO C++ forbids initialization of member 'right' ..\mining app final(hopefully)\/node.h:22: error: making 'right' static ..\mining app final(hopefully)\/node.h:22: error: invalid in-class initialization of static data member of non-integral type 'node*' mingw32-make[1]: Leaving directory `C:/build-blah-vai-Debug' mingw32-make[1]: *** [debug/main.o] Error 1 mingw32-make: *** [debug] Error 2 01:36:17: The process "C:\MinGw\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project blah (kit: vai) When executing step 'Make' 01:36:17: Elapsed time: 00:02. 

can someone explain to me how to solve this?

I am currently working on Qt 4.8.5-mingw (Windows 7)

+2
c ++ windows qt
Jul 03 '13 at 20:44
source share
2 answers

Well, to avoid using any C ++ 11 functions, I wrote my own functions "to_string ()" and "to_Double ()" and used them, now it works like a charm!

Here are the functions:

string toString (double)

 string toString(double num) { std::stringstream ss; ss << num; std::string s(ss.str()); return s; } 

double toDouble (string)

  double toDouble(string s) { int i,j; double p=0; for(i=s.size()-1;(s[i]!='.')&&(i>=0);i--) { p+=1.0; } if(s[i]!='.') p=0; else { for(j=i;j<s.size();j++) s[j]=s[j+1]; } istringstream myStream(s); unsigned int uintVar = 0; myStream >> uintVar; return (uintVar/(double)(pow(10.0,p))); } 
0
Jul 04 '13 at 11:37
source share

For my qt project on Windows, I used "QMAKE_CXXFLAGS + = -std = C ++ 0x" for new standard functions. MinGW 4.8 (supports many features of C ++ 11), you can download here .

0
Jul 03 '13 at 21:51
source share



All Articles