c++ - MATLAB Mex : Already had -std=c++11, but still got error of "compiler and library support" -
i'm running ms coco matlabapi on win 10. want produce file called gasonmex.mexw64. have installed mingw64 , simple matlab .c file has been tested working.
i used
mex -v compflags='$compflags -std=c++11 -wall' -largearraydims gasonmex.cpp verbose mode on. ... looking compiler 'mingw64 compiler (c++)' ... ... looking environment variable 'mw_mingw64_loc' ...yes ('c:\matlab\supportpackages\r2016a\mw_mingw_4_9'). ... looking file 'c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++.exe' ...yes. ... looking folder 'c:\matlab\supportpackages\r2016a\mw_mingw_4_9' ...yes. found installed compiler 'mingw64 compiler (c++)'. set path = c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin;c:\program files\matlab\r2016a\extern\include\win64;c:\program files\matlab\r2016a\extern\include;c:\program files\matlab\r2016a\simulink\include;c:\program files\matlab\r2016a\lib\win64;c:\windows\system32;c:\windows;c:\windows\system32\wbem;c:\windows\system32\windowspowershell\v1.0\;c:\program files\intel\wifi\bin\;c:\program files\common files\intel\wirelesscommon\;c:\program files\matlab\r2016a\runtime\win64;c:\program files\matlab\r2016a\bin;c:\program files\matlab\r2016a\polyspace\bin;c:\users\lin\appdata\local\microsoft\windowsapps; set include = c:\matlab\supportpackages\r2016a\mw_mingw_4_9\include; set lib = c:\matlab\supportpackages\r2016a\mw_mingw_4_9\lib;; set mw_target_arch = win64; set libpath = c:\program files\matlab\r2016a\extern\lib\win64;
options file details
compiler location: c:\matlab\supportpackages\r2016a\mw_mingw_4_9 options file: c:\users\lin\appdata\roaming\mathworks\matlab\r2016a\mex_c++_win64.xml cmdline1 : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ -c -m64 -dmatlab_mex_file -i"c:\program files\matlab\r2016a/extern/include" -i"c:\program files\matlab\r2016a/simulink/include" -fexceptions -fno-omit-frame-pointer -o -dndebug d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp -o c:\users\lin\appdata\local\temp\mex_930975203277711_10656\gasonmex.obj cmdline2 : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ -m64 -wl,--no-undefined -shared -s -wl,"c:\program files\matlab\r2016a/extern/lib/win64/mingw64/mexfunction.def" c:\users\lin\appdata\local\temp\mex_930975203277711_10656\gasonmex.obj -l"c:\program files\matlab\r2016a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -o gasonmex.mexw64 cxx : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ compiler : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ defines : -m64 -dmatlab_mex_file matlabmex : -dmatlab_mex_file cxxflags : -fexceptions -fno-omit-frame-pointer include : -i"c:\program files\matlab\r2016a/extern/include" -i"c:\program files\matlab\r2016a/simulink/include" cxxoptimflags : -o -dndebug cxxdebugflags : -g ldxx : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ linker : c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ ldflags : -m64 -wl,--no-undefined ldtype : -shared linkexport : -wl,"c:\program files\matlab\r2016a/extern/lib/win64/mingw64/mexfunction.def" libloc : c:\program files\matlab\r2016a\extern\lib\win64\mingw64 linklibs : -l"c:\program files\matlab\r2016a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas ldoptimflags : -s lddebugflags : -g objext : .obj ldext : .mexw64 setenv : set compiler=g++ set compflags=-c -fexceptions -fno-omit-frame-pointer -m64 -dmatlab_mex_file -dmatlab_mex_file set optimflags=-o -dndebug set debugflags=-g set linker=g++ set linkflags=-m64 -wl,--no-undefined -shared -l"c:\program files\matlab\r2016a\extern\lib\win64\mingw64" -llibmx -llibmex -llibmat -lm -llibmwlapack -llibmwblas -wl,"c:\program files\matlab\r2016a/extern/lib/win64/mingw64/mexfunction.def" set linkdebugflags=-g set name_output= -o "%outdir%%mex_name%%mex_ext%" mingwroot : c:\matlab\supportpackages\r2016a\mw_mingw_4_9 matlabroot : c:\program files\matlab\r2016a arch : win64 src : d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp obj : c:\users\lin\appdata\local\temp\mex_930975203277711_10656\gasonmex.obj objs : c:\users\lin\appdata\local\temp\mex_930975203277711_10656\gasonmex.obj srcroot : d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex def : c:\users\lin\appdata\local\temp\mex_930975203277711_10656\gasonmex.def exp : gasonmex.exp lib : gasonmex.lib exe : gasonmex.mexw64 ilk : gasonmex.ilk manifest : gasonmex.mexw64.manifest tempname : gasonmex exedir : exename : gasonmex compflags : -std=c++11 -std=gnu++11 -wall optim : -o -dndebug linkoptim : -s
so seems c++11 included. still got error of
building 'mingw64 compiler (c++)'. c:\matlab\supportpackages\r2016a\mw_mingw_4_9\bin\g++ -c -m64 -dmatlab_mex_file -i"c:\program files\matlab\r2016a/extern/include" -i"c:\program files\matlab\r2016a/simulink/include" -fexceptions -fno-omit-frame-pointer -o -dndebug d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp -o c:\users\lin\appdata\local\temp\mex_23236879859281_3800\gasonmex.obj error using mex in file included c:/matlab/supportpackages/r2016a/mw_mingw_4_9/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/cstdint:35:0, d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:11: c:/matlab/supportpackages/r2016a/mw_mingw_4_9/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/bits/c++0x_warning.h:32:2: error: #error file requires compiler , library support iso c++ 2011 standard. support experimental, , must enabled -std=c++11 or -std=gnu++11 compiler options. #error file requires compiler , library support \ ^ in file included d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:7:0: d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:32:56: error: 'nullptr' not declared in scope jsonvalue(jsontag tag = json_null, void *payload = nullptr) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h: in function 'jsoniterator begin(jsonvalue)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:84:24: warning: extended initializer lists available -std=c++11 or -std=gnu++11 return jsoniterator{o.tonode()}; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h: in function 'jsoniterator end(jsonvalue)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:87:24: warning: extended initializer lists available -std=c++11 or -std=gnu++11 return jsoniterator{nullptr}; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:87:25: error: 'nullptr' not declared in scope return jsoniterator{nullptr}; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h: @ global scope: d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:115:15: warning: non-static data member initializers available -std=c++11 or -std=gnu++11 } *head = nullptr; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:118:23: warning: defaulted , deleted functions available -std=c++11 or -std=gnu++11 jsonallocator() = default; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:119:44: warning: defaulted , deleted functions available -std=c++11 or -std=gnu++11 jsonallocator(const jsonallocator &) = delete; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:120:55: warning: defaulted , deleted functions available -std=c++11 or -std=gnu++11 jsonallocator &operator=(const jsonallocator &) = delete; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:121:33: error: expected ',' or '...' before '&&' token jsonallocator(jsonallocator &&x) : head(x.head) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:121:36: error: invalid constructor; meant 'jsonallocator (const jsonallocator&)' jsonallocator(jsonallocator &&x) : head(x.head) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:124:44: error: expected ',' or '...' before '&&' token jsonallocator &operator=(jsonallocator &&x) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:115:15: error: 'nullptr' not declared in scope } *head = nullptr; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h: in member function 'jsonallocator& jsonallocator::operator=(jsonallocator)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:125:16: error: 'x' not declared in scope head = x.head; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gason.h:126:18: error: 'nullptr' not declared in scope x.head = nullptr; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp: in function 'siz length(const jsonvalue&)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:20:17: error: 'n' not name type siz k=0; auto n=a.tonode(); while(n) { k++; n=n->next; } return k; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:20:37: error: 'n' not declared in scope siz k=0; auto n=a.tonode(); while(n) { k++; n=n->next; } return k; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp: in function 'bool isregularobjarray(const jsonvalue&)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:27:17: error: 'j' not name type k=0; for(auto j:o) keys[k++]=j->key; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:3: error: expected ';' before 'for' for( auto i:a ) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:3: error: expected primary-expression before 'for' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:3: error: expected ';' before 'for' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:3: error: expected primary-expression before 'for' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:3: error: expected ')' before 'for' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:28:13: error: 'i' not name type for( auto i:a ) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:32:3: error: expected ';' before 'delete' delete [] keys; return true; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:32:13: error: not convert '((keys != 0u) ? operator delete [](((void*)keys)) : 0)' 'void' 'bool' delete [] keys; return true; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:32:19: error: expected primary-expression before 'return' delete [] keys; return true; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:32:19: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp: in function 'mxarray* json(const jsonvalue&)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:47:16: error: 'i' not name type for(auto i:o) isregular=isregular && i->value.gettag()==tag; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:48:7: error: expected ';' before 'if' if( isregular && tag==json_object && isregularobjarray(o) ) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:48:7: error: expected primary-expression before 'if' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:48:7: error: expected ';' before 'if' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:48:7: error: expected primary-expression before 'if' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:48:7: error: expected ')' before 'if' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:50:23: error: 'j' not name type k=0; for(auto j:o0) keys[k++]=j->key; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:51:9: error: expected ';' before 'm' m = mxcreatestructmatrix(1,n,m,keys); ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:52:12: error: expected ')' before ';' token k=0; for(auto i:o) { m=0; for(auto j:i->value) ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:52:23: error: 'i' not name type k=0; for(auto i:o) { m=0; for(auto j:i->value) ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:54:9: error: expected ';' before 'delete' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:54:19: error: not convert '((keys != 0u) ? operator delete [](((void*)keys)) : 0)' 'void' 'bool' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:54:25: error: expected primary-expression before 'return' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:54:25: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:23: error: 'i' not name type k=0; for(auto i:o) p[k++]=i->value.tonumber(); return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:56: error: expected ';' before 'return' k=0; for(auto i:o) p[k++]=i->value.tonumber(); return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:56: error: expected primary-expression before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:56: error: expected ';' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:56: error: expected primary-expression before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:57:56: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:60:23: error: 'i' not name type k=0; for(auto i:o) mxsetcell(m,k++,json(i->value)); ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:61:9: error: expected ';' before 'return' return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:61:9: error: expected primary-expression before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:61:9: error: expected ';' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:61:9: error: expected primary-expression before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:61:9: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:67:21: error: 'i' not name type k=0; for(auto i:o) keys[k++]=i->key; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:68:7: error: expected ';' before 'm' m = mxcreatestructmatrix(1,1,n,keys); k=0; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:68:48: error: expected ')' before ';' token m = mxcreatestructmatrix(1,1,n,keys); k=0; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:69:16: error: 'i' not name type for(auto i:o) mxsetfieldbynumber(m,0,k++,json(i->value)); ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:70:7: error: expected ';' before 'delete' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:70:17: error: not convert '((keys != 0u) ? operator delete [](((void*)keys)) : 0)' 'void' 'bool' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:70:23: error: expected primary-expression before 'return' delete [] keys; return m; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:70:23: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp: in function 'ostrm& json(ostrm&, const jsonvalue*)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:113:26: error: 'i' not name type s << "["; for(auto i:*o) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:115:7: error: expected ';' before 's' s << "]"; return s; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:115:17: error: expected primary-expression before 'return' s << "]"; return s; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:115:17: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:117:26: error: 'i' not name type s << "{"; for(auto i:*o) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:120:7: error: expected ';' before 's' s << "}"; return s; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:120:17: error: expected primary-expression before 'return' s << "}"; return s; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:120:17: error: expected ')' before 'return' d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp: in function 'void mexfunction(int, mxarray**, int, const mxarray**)': d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:180:27: error: call 'jsonvalue::jsonvalue(jsontag, void*)' uses default argument parameter 2, not yet defined char *endptr; jsonvalue val; jsonallocator allocator; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:207:14: error: 'o' not name type for(auto o:val) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected ';' before '}' token } else if(!strcmp(action,"merge")) { ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected primary-expression before '}' token d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected ';' before '}' token d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected primary-expression before '}' token d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected ')' before '}' token d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:213:3: error: expected primary-expression before '}' token d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:224:16: error: 'j' not name type for(auto j:val) json(s,&j->value) << (j->next ? "," : ""); ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:225:7: error: expected ';' before 'mxfree' mxfree(str); if(i<n-1) s<<","; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:225:17: error: not convert 'mxfree(((void*)str))' 'void' 'bool' mxfree(str); if(i<n-1) s<<","; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:225:20: error: expected primary-expression before 'if' mxfree(str); if(i<n-1) s<<","; ^ d:\realtime_multi_2d_pose_est\training\dataset\coco\coco\matlabapi\private\gasonmex.cpp:225:20: error: expected ')' before 'if'
is there did wrong or offer help? thanks
Comments
Post a Comment