Bullet physics library mit Jam als UB kompilieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bullet physics library mit Jam als UB kompilieren

    Hallo,

    ich möchte gerne die Bullet physics library mit Jam als UB kompilieren. Wie muß ich vorgehen?

    So etwas wie Jam -arch i386 oder cxxflags= -arch i386 / -arch ppc und dann lipo???

    Ich habe schon ne Menge ausprobiert und bin jetzt ratlos.

    Xeno
  • RE: Bullet physics library mit Jam als UB kompilieren

    Original von xeno74
    So etwas wie Jam -arch i386 oder cxxflags= -arch i386 / -arch ppc und dann lipo???


    Ja, klingt richtig.

    Alex
    The only thing that really worried me was the ether.
  • Mmmhhh, ich hänge immer noch .. was die Intel-Version betrifft.

    Ich brauche unbedingt die Bullet-Physics-Libs als Intel-Binarys. Jam baut bei mir grundsätzlich PPC-Binarys. Und sowas wie "-arch i386, cxxflags ... wird von
    Jam nicht angenommen.

    Quellcode

    1. Cc ./out/macosxppc/optimize/Extras/LibXML/uri.o


    macosxppc ... : Jam baut immer nur PPC-Libs von der Bullet.

    Auch das Xcode-Projekt das ich mit "cmake . -G Xcode" erstellt hatte bringt
    mich nicht weiter. Universal-Kompilieren funzt mit folgenden Zitat von mir:


    1. Im Aufgabenbereich "BULLET_PHYSICS" auswählen

    2. In der Symbolleiste "Info" wählen

    3. Registerkarte "Build" wählen

    4. Als Collection "Architectures" auswählen

    5. Auf "Architectures" doppelklicken

    6. Und die Kontrollkästchen für "PowerPC" und "Intel" aktivieren


    Aber mir fehlt nach dem Kompilieren die Lib "libbulletmath" und außerdem
    muß ich alle mit Xcode erstellten Libs umbenennen weil diese solche Namen
    wie "libLibBulletCollision.a" haben und diese von SuperTuxKart nicht verwendet werden können.

    Mir bleibt also nur Jam oder CMake. Wie bringe ich Jam dazu das er x86-Libs erstellt?

    Xeno
  • libirgendwas.a hört sich schwer nach einer statischen Version der entsprechenden Library an. Da gibt es doch bestimmt irgendwo einen schalter um daraus eine .dylib zu machen... soweit ich weiß kann das cmake sogar.

    Aber ob das hilft weiß ich nich so.
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • Ich brauche die Libs als statische Version. Diese sollen später in das SuperTuxKart-Binary integriert werden.

    Ich bin schon ein Stück weiter. Ich habe in der Jamconfig "-arch i386" integriert:

    Quellcode

    1. COMPILER.C++FLAGS += "-fno-exceptions -arch i386" ;


    Damit habe ich es geschafft, die Bullet-Libs als x86-Libs zu kompilieren. Danach
    habe ich die PPC-Libs und x86-Libs mit Hilfe von lipo zusammengefügt zu
    Universal-Libs.

    Das Problem ist jetzt aber, dass ich beim Linken von SuperTuxKart (PPC-Version) folgende Fehlermeldungen bekomme:

    Quellcode

    1. /usr/bin/ld: Undefined symbols:
    2. btConeShape::btConeShape(float, float)
    3. btPolyhedralConvexShape::btPolyhedralConvexShape()
    4. vtable for btBoxShape
    5. btAxisSweep3::btAxisSweep3(btVector3 const&, btVector3 const&, int)
    6. btTriangleMesh::btTriangleMesh()
    7. btCollisionDispatcher::btCollisionDispatcher()
    8. btBvhTriangleMeshShape::btBvhTriangleMeshShape(btStridingMeshInterface*)
    9. btCompoundShape::addChildShape(btTransform const&, btCollisionShape*)
    10. btCompoundShape::btCompoundShape()
    11. btCylinderShapeX::btCylinderShapeX(btVector3 const&)
    12. btCollisionObject::setActivationState(int)
    13. btCollisionObject::btCollisionObject()
    14. btTriangleCallback::~btTriangleCallback()
    Alles anzeigen


    Dieses Linker-Kommando habe ich verwendet:

    Quellcode

    1. g++ -g -O2 -Wall -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I../bullet/src -framework OpenAL -L/opt/local/lib -lSDLmain -Wl,-framework,Cocoa -o supertuxkart main.o material.o material_manager.o attachment.o attachment_manager.o collectable.o collectable_manager.o sound_manager.o sound_plib.o music_mikmod.o music_ogg.o sfx_openal.o utils.o isect.o track.o herring.o herring_manager.o explosion.o user_config.o cup_data.o kart_properties_manager.o projectile_manager.o kart_properties.o stk_config.o highscores.o highscore_manager.o loader.o race_manager.o string_utils.o track_manager.o world.o moving_physics.o moving_texture.o callback_manager.o physics.o skid_mark.o shadow.o particle_system.o game_manager.o widget_set.o camera.o sdldrv.o moveable.o ssg_help.o kart.o player_kart.o projectile.o history.o scene.o traffic.o lisp.o lexer.o parser.o writer.o menu_manager.o base_gui.o race_gui.o race_results_gui.o grand_prix_ending.o num_laps.o race_menu.o num_players.o track_sel.o player_controls.o config_display.o config_sound.o config_controls.o options.o game_mode.o difficulty.o char_sel.o main_menu.o help_menu.o credits_menu.o scrolled_text.o grand_prix_select.o font.o default_robot.o -L. -lstatic_ssg -lplibjs -lplibsl -lplibssg -lplibpu -lplibfnt -lplibsg -lplibul -lplibssgaux -framework Carbon -framework OpenGL -framework IOKit -framework AGL -framework SDL -lSDLmain -framework Cocoa -framework Vorbis -framework Ogg /usr/lib/libmikmod.a -L../libs -lbulletopenglsupport -lbulletdynamics -lbulletcollision -lbulletmath -framework GLUT