1

Mac OS X 10.7 (Lion) を搭載した MacBook で、C++ 言語で記述された Linux Ubuntu 10.4 で wxWidgets と OpenGL を使用して作成したプロジェクトをコンパイルしようとしています。この構成で wxWidgets をインストールしました。

$ arch_flags="-arch i386"
$ ../configure CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" CPPFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" OBJCXXFLAGS="$arch_flags" --enable-unicode --enable-debug --disable-shared --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk --with-macosx-version-min=10.6 --with-opengl

コンパイルすると、多くの警告が表示されます。リンク段階でコンパイルが失敗します。

    [...]


    g++gcc-4.6.x `wx-config --cxxflags` -g -std=c++0x   -c -o GUI.o GUI.cc
    In file included from /opt/local/include/wx-2.8/wx/mac/glcanvas.h:4:0,
             from /opt/local/include/wx-2.8/wx/glcanvas.h:60,
             from Fenetre.h:5,
             from GUI.cc:2:
    /opt/local/include/wx-2.8/wx/mac/carbon/glcanvas.h:49:37: warning: ‘AGLDrawable’ is deprecated (declared at /System/Library/Frameworks/AGL.framework/Headers/agl.h:47) [-Wdeprecated-declarations]
    /opt/local/include/wx-2.8/wx/mac/carbon/glcanvas.h:53:21: warning: ‘AGLDrawable’ is deprecated (declared at /System/Library/Frameworks/AGL.framework/Headers/agl.h:47) [-Wdeprecated-declarations]

     [...]


     g++gcc-4.6.x   exerciceP13.o GUI.o Fenetre.o Vue_OpenGL.o Balle.o ChampForces.o Dessinable.o Exception.o Ressort.o Integrateur.o IntegrateurEuler.o ObjetMobile.o Obstacle.o Pendule.o PendulePlan.o PlanInfini.o Vecteur.o Systeme.o Balle3D.o PendulePlan3D.o Brique3D.o Brique.o PlanInfini3D.o Ressort3D.o Couleur.o IntegrateurNewmark.o Vent.o Ventilateur3D.o Trampoline3D.o IntRungKut.o ChampVitesse.o TapisRoulant3D.o PenduleSpherique.o Cylindre.o Cylindre3D.o  `wx-config --libs gl,core,base` -o exerciceP13
     g++gcc-4.6.x: error: i386: No such file or directory
     g++gcc-4.6.x: error: unrecognized option ‘-arch’
     make: *** [exerciceP13] Error 1

ここで私の Makefile とグラフィック クラス ヘッダーのインクルード:

CC  = g++gcc-4.6.x
CXX = g++gcc-4.6.x


CXXFLAGS= `wx-config --cxxflags` -g -std=c++0x
LDLIBS   = `wx-config --libs gl,core,base`

all: exerciceP13

exerciceP13: exerciceP13.o GUI.o Fenetre.o Vue_OpenGL.o Balle.o ChampForces.o Dessinable.o Exception.o Ressort.o Integrateur.o IntegrateurEuler.o ObjetMobile.o Obstacle.o Pendule.o PendulePlan.o PlanInfini.o Vecteur.o Systeme.o Balle3D.o PendulePlan3D.o Brique3D.o Brique.o PlanInfini3D.o Ressort3D.o Couleur.o IntegrateurNewmark.o Vent.o Ventilateur3D.o Trampoline3D.o IntRungKut.o ChampVitesse.o TapisRoulant3D.o PenduleSpherique.o Cylindre.o Cylindre3D.o

exerciceP13.o: exerciceP13.cc GUI.h

GUI.o: GUI.h GUI.cc Fenetre.h

Fenetre.o: Fenetre.h Fenetre.cc Vue_OpenGL.h

Vue_OpenGL.o: Vue_OpenGL.h Vue_OpenGL.cc Systeme.h Balle3D.h PendulePlan3D.h PlanInfini.h Brique3D.h PlanInfini3D.h Ressort3D.h IntegrateurEuler.h IntegrateurNewmark.h Ventilateur3D.h Trampoline3D.h Vent.h IntRungKut.h ChampVitesse.h TapisRoulant3D.h Cylindre3D.h

Balle.o: Balle.h Balle.cc ObjetMobile.h Vecteur.h

Brique.o: Brique.h Brique.cc Obstacle.h Vecteur.h ObjetMobile.h

ChampForces.o: ChampForces.h ChampForces.cc Vecteur.h Balle.h Dessinable.h

Dessinable.o: Dessinable.h Dessinable.cc

Exception.o: Exception.h Exception.cc

Integrateur.o: Integrateur.h Integrateur.cc ObjetMobile.h

IntegrateurEuler.o: IntegrateurEuler.h IntegrateurEuler.cc Integrateur.h ObjetMobile.h

ObjetMobile.o: ObjetMobile.h ObjetMobile.cc Vecteur.h Dessinable.h

Obstacle.o: Obstacle.h Obstacle.cc Vecteur.h ObjetMobile.h Dessinable.h

Pendule.o: Pendule.h Pendule.cc ObjetMobile.h Vecteur.h

PendulePlan.o: PendulePlan.h PendulePlan.cc Pendule.h Vecteur.h Balle.h

PlanInfini.o: PlanInfini.h PlanInfini.cc Vecteur.h Obstacle.h

Vecteur.o: Vecteur.h Vecteur.cc Exception.h

Systeme.o: Systeme.h Systeme.cc ObjetMobile.h Obstacle.h ChampForces.h Integrateur.h Dessinable.h

Balle3D.o: Balle3D.h Balle3D.cc Balle.h Couleur.h

PendulePlan3D.o: PendulePlan3D.h PendulePlan3D.cc PendulePlan.h Couleur.h

Brique3D.o: Brique3D.h Brique3D.cc Brique.h Couleur.h

PlanInfini3D.o: PlanInfini.h PlanInfini.cc PlanInfini.h Couleur.h

Ressort.o: Ressort.cc Ressort.h Vecteur.h ObjetMobile.h

Ressort3D.o: Ressort3D.cc Ressort3D.h Ressort.h Couleur.h

Couleur.o: Couleur.h Couleur.cc

IntegrateurNewmark.o: IntegrateurNewmark.h IntegrateurNewmark.cc Integrateur.h

Vent.o: Vent.cc Vent.h Vecteur.h Brique.h ObjetMobile.h ChampForces.h Ventilateur3D.h

Ventilateur3D.o: Ventilateur3D.h Ventilateur3D.cc Vecteur.h Vent.h Systeme.h Brique3D.h Dessinable.h

Trampoline3D.o: Trampoline3D.h Trampoline3D.cc Brique3D.h ObjetMobile.h Systeme.h Dessinable.h

ChampVitesse.o: ChampVitesse.h ChampVitesse.cc Vecteur.h ChampForces.h ObjetMobile.h Brique.h TapisRoulant3D.h

TapisRoulant3D.o: TapisRoulant3D.h TapisRoulant3D.cc  Vecteur.h Brique3D.h Systeme.h ChampVitesse.h Dessinable.h

IntRungKut.o: IntRungKut.h IntRungKut.cc Integrateur.h ObjetMobile.h Vecteur.h

PenduleSpherique.o: PenduleSpherique.h PenduleSpherique.cc Pendule.h Vecteur.h

Cylindre.o: Cylindre.h Cylindre.cc Vecteur.h Obstacle.h ObjetMobile.h

Cylindre3D.o: Cylindre3D.h Cylindre3D.cc Vecteur.h Couleur.h Cylindre.h

clean:
   rm -f *.o

内容:

#include "wx/wxprec.h"
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/glcanvas.h" // Pour combiner wxWidgets et OpenGL
4

1 に答える 1

0

最後に、Macports を使用して GCC 4.7 +universal と wxWidgets の両方をインストールしました。とてもうまくいきました。

于 2012-08-22T14:52:44.480 に答える