Originariamente inviato da Caiodark
io ho installato il gcc 4.7 nel mio mac, supporta molto bene c++11 e come ide NetBeans.
Anche GCC 4.6 funziona benissimo e compila tutto quello che ho programmato su Linux con lo stesso compilatore... Ma quando si inizia a parlare di wxWidgets, allora la storia si complica assai. Di IDE preferirei non usarne! ; ). Mi fido di più di un bel Makefile...
Originariamente inviato da shodan
Leggendo quella riga avevo capito il contrario.
Comunque se nemmeno nel forum di wxWidgets ti hanno saputo dire di più, non so se avrai più fortuna qui. Se il G++ di Apple ha introdotto customizzazioni nel compilatore rischi di avere l'apriscatole dentro la scatola che vuoi aprire (un po' come le licenze di Windows insomma ...
)
Non credo che abbiano capito il problema...xD
A quanto pare il compilatore di Apple é clang (LLVM) e non GCC. GCC credo che é installato di default con Xcode per compilare clang. O qualcosa del genere insomma. La nuova versione 3.1 (che ho installato aggiornando Xcode) sembrerebbe supportare C++11. Ho provato allora a modificare il mio Makefile come segue:
codice:
CC = clang
CXX = clang
CXXFLAGS = `wx-config --cxxflags` -std=c++0x -stdlib=libc++
LDLIBS = `wx-config --libs gl,core,base`
LDLIBS+= -lglut -lGLU -lGL -lXmu -lXi
all: main
main: main.cc
Ma ottengo comunque una sfilza di errori. E io sono abituato a GCC. Ci ho messo un sacco a imparare a leggere gli errori... E adesso mi tocca ricominciare da capo... =(.
codice:
clang `wx-config --cxxflags` -std=c++0x -stdlib=libc++ main.cc `wx-config --libs gl,core,base` -lglut -lGLU -lGL -lXmu -lXi -o main
In file included from main.cc:5:
In file included from /opt/local/include/wx-2.8/wx/glcanvas.h:60:
In file included from /opt/local/include/wx-2.8/wx/mac/glcanvas.h:4:
/opt/local/include/wx-2.8/wx/mac/carbon/glcanvas.h:49:11: warning:
'AGLDrawable' is deprecated [-Wdeprecated-declarations]
inline AGLDrawable GetDrawable() const { return m_drawable; }
^
/opt/local/include/wx-2.8/wx/mac/carbon/glcanvas.h:53:4: warning: 'AGLDrawable'
is deprecated [-Wdeprecated-declarations]
AGLDrawable m_drawable;
^
main.cc:94:3: error: use of undeclared identifier 'gluLookAt'
gluLookAt(0.0, 0.0, 7.5,
^
main.cc:170:3: error: use of undeclared identifier 'gluPerspective'
gluPerspective(65.0, 4./3., 1.0, 1000.0);
^
main.cc:219:3: error: use of undeclared identifier 'SetTopWin'; did you mean
'SetTopWindow'?
SetTopWin======== */
^~~~~~~~~
SetTopWindow
/opt/local/include/wx-2.8/wx/app.h:436:10: note: 'SetTopWindow' declared here
void SetTopWindow(wxWindow *win) { m_topWindow = win; }
^
main.cc:219:14: error: expected expression
SetTopWin======== */
^
main.cc:219:16: error: expected expression
SetTopWin======== */
^
main.cc:219:18: error: expected expression
SetTopWin======== */
^
main.cc:219:22: error: expected expression
SetTopWin======== */
^
main.cc:220:5: error: 'wxAppConsole' does not refer to a value
IMPLEMENT_APP(GUI)
^
/opt/local/include/wx-2.8/wx/app.h:688:5: note: expanded from macro
'IMPLEMENT_APP'
IMPLEMENT_APP_NO_THEMES(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:682:5: note: expanded from macro
'IMPLEMENT_APP_NO_THEMES'
IMPLEMENT_APP_NO_MAIN(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:668:5: note: expanded from macro
'IMPLEMENT_APP_NO_MAIN'
wxAppConsole *wxCreateApp() \
^
/opt/local/include/wx-2.8/wx/app.h:57:24: note: declared here
class WXDLLIMPEXP_BASE wxAppConsole : public wxEvtHandler
^
main.cc:220:5: error: expected expression
IMPLEMENT_APP(GUI)
^
/opt/local/include/wx-2.8/wx/app.h:688:5: note: expanded from macro
'IMPLEMENT_APP'
IMPLEMENT_APP_NO_THEMES(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:682:5: note: expanded from macro
'IMPLEMENT_APP_NO_THEMES'
IMPLEMENT_APP_NO_MAIN(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:677:27: note: expanded from macro
'IMPLEMENT_APP_NO_MAIN'
appname& wxGetApp() { return *wx_static_cast(appname*, ...
^
main.cc:220:5: error: expected ';' at end of declaration
IMPLEMENT_APP(GUI)
^
/opt/local/include/wx-2.8/wx/app.h:688:5: note: expanded from macro
'IMPLEMENT_APP'
IMPLEMENT_APP_NO_THEMES(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:683:5: note: expanded from macro
'IMPLEMENT_APP_NO_THEMES'
IMPLEMENT_WXWIN_MAIN
^
/opt/local/include/wx-2.8/wx/app.h:649:34: note: expanded from macro
'IMPLEMENT_WXWIN_MAIN'
#define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
^
/opt/local/include/wx-2.8/wx/app.h:645:9: note: expanded from macro
'IMPLEMENT_WXWIN_MAIN_CONSOLE'
int main(int argc, char **argv) { return wxEntry(argc, argv); }
^
main.cc:220:5: error: expected expression
IMPLEMENT_APP(GUI)
^
/opt/local/include/wx-2.8/wx/app.h:688:5: note: expanded from macro
'IMPLEMENT_APP'
IMPLEMENT_APP_NO_THEMES(appname) \
^
/opt/local/include/wx-2.8/wx/app.h:683:5: note: expanded from macro
'IMPLEMENT_APP_NO_THEMES'
IMPLEMENT_WXWIN_MAIN
^
/opt/local/include/wx-2.8/wx/app.h:649:34: note: expanded from macro
'IMPLEMENT_WXWIN_MAIN'
#define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
^
/opt/local/include/wx-2.8/wx/app.h:645:43: note: expanded from macro
'IMPLEMENT_WXWIN_MAIN_CONSOLE'
int main(int argc, char **argv) { return wxEntry(argc, argv); }
^
main.cc:220:23: error: expected ';' at end of declaration
IMPLEMENT_APP(GUI)
^
main.cc:220:23: error: expected '}'
main.cc:215:1: note: to match this '{'
{
^
2 warnings and 13 errors generated.
make: *** [main] Error 1