Einbindung von JUCE in Xcode???

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

  • Einbindung von JUCE in Xcode???

    Hallo liebe Helferinnen und Helfer,

    Ich bin motivierter durch mein E-Technik Studium mehr oder weniger fortgeschrittener C++-Programmierer. Schaffe es aus zeitlichen Gründen aber nicht auf Obj-C umzusteigen und möchte aber mit Xcode in Zukunft auch GUI´s erzeugen.
    Mein Windows-Kumpel arbeitet mit JUCE (rawmaterialsoftware.com/index.php) auf Visual Studio und ist begeistert. Ich weiß, gegen Cocoa sieht die Oberfläche natürlich wie Kindergeburtstag aus, aber das ist erstmal zweitrangig.
    Die SUFU hat mir kein einziges Ergebnis geliefert und aus den Beschreibungen auf der Webseite werde ich auch nicht schlau.
    Ich bekomme diese Testprojekte nicht compiliert.
    Um mir noch mehr Ärger zu ersparen meine Frage an euch....

    Arbeitet hier jemand mit den Werkzeugen von JUCE mit C++ unter Xcode?
    Wenn ja brauche ich dringend Tips, wie ich das zum Laufen bekomme, damit meine Konsolen Apps bald mal der Vergangenheit angehören!

    Vielen Dank schon mal, bin gespannt auf eure Antworten...
  • INSTALLATION
    To install the code, just unzip or it into a convenient location.

    There are project files for XCode, Visual Studio, etc. in the juce/build directory, and a good place to start is the demo application, found in juce/extras/juce demo.

    To compile an application that links to the library, you can either look at the projects used by the demo apps, or there are some basic 'hello world' projects in the juce/extras directory.

    More detailed documentation about setting up the build environment for specific compilers is included in the juce/docs directory of the source-tree.

    Quelle: rawmaterialsoftware.com/downloads.php
  • Hallo Zusammen, zuerst mal freue ich mich über eure Antworten!

    Manfred Kreß schrieb:

    Ich wette, das du mehr Zeit und Energie reinsteckst um JUCE halbwegs zum laufen zu bringen, als du für ObjC/Cocoa brauchen würdest. Allerdings kannst du dann Applikationen entwickeln, die optimal in das System integriert sind.

    Denk drüber nach.

    Gruß
    Manfred
    @ Manfred: Ja, da magst du Recht haben. Allerdings ist es für mich auch wichtig, dass meine Apps mit meinen Kollegen, die auf Windows programmieren austauschbar bleiben. Da sehe ich keinen anderen Weg. Oder gibt es dies bzgl. andere Ideen???

    @ Miralem23: Ja die Anleitung auf der Homepage bin ich natürlich durchgegangen. Ebenfalls bin ich mehrmals die Compilierungs-Tps in der Dokumentation (siehe Anhang) durchgegangen.

    @ System: Bei der Demo bekomme ich zwar keine Fehlermeldung, aber auch keine funktionsfähige App im Release Ordner... Jeder Test mit einem eigen erstelleten Testprojekt von mir ging in die Hose...

    mmm... sonst noch Ideen? Oder soll ich noch genauere Beschreibung abgeben was ich bisher getan habe?


    Gruß TH





    Compiling with XCode on MacOSX

    To compile the JUCE binaries from the source code:

    1. Open the Juce.xcodeproj file in juce/build/macosx
    2. This project has "debug" and "release" configurations, and the library files it creates are libjuce.a (release) and libjucedebug.a (debug), which will appear in the juce/bin directory.

    Then, to create and build an application:

    1. Either make a copy of the example project in juce/extras/example projects and rename/customise it, or create a new "Carbon Application" project.
    2. Include the header file juce.h in all your source files.
    3. Get rid of any main() functions that XCode might have generated for you, and instead use the JUCEApplication class as your application launcher - see the API documentation for this class for more details, or have a look at the example projects, or demos.
    4. Drag-and-drop the juce.xcodeproj file into the project's "External Frameworks and Libraries" list.
    5. Expand this item in the treeview, and inside there'll be an item "libjuce.a" or "libjucedebug.a" - drag-and-drop this into the "link binary with libraries" phase inside the xcode target. When you select either a debug or release juce build these entries will (usually) update themselves to show the correct debug or release library name. If you want your project to automatically rebuild Juce when you make changes to a juce file, you can also add Juce to your target's "Direct Dependency" list (show information for the target, and this is on the "general" tab).

      Alternative ways of linking to juce would be to add the libjuce.a or libjucedebug.a library to your "External Frameworks and Libraries" list, or to add switch to the linker's command-line of either "-ljuce" or "-ljucedebug".
    6. You'll also need to add some or all of the following OSX frameworks to your "External Frameworks and Libraries" list, depending on what features your application uses: Cocoa.framework
    7. Carbon.framework
    8. IOKit.framework
    9. CoreAudio.framework
    10. CoreMIDI.framework
    11. WebKit.framework
    12. DiscRecording.framework
    13. QTKit.framework
    14. QuickTime.framework
    15. QuartzCore.framework
    16. AudioUnit.framework
    17. AudioToolbox.framework
    18. OpenGL.framework
    19. AppKit.framework
    20. CoreAudioKit.framework
    21. CoreFoundation.framework

      In future there may be other frameworks that you'll need to link with to support new JUCE features. (It should be pretty obvious from the link-time error when one of these is missing).

    If all this seems too complicated, you can make things slightly easier by using the amalgamated form of Juce (see earlier note). To do this, all you need to do is to add juce_amalagamated.cpp to your project, and include juce_amalagamated.h instead of juce.h. This pulls the entire library into your project without needing to link to it separately, so you can skip the steps above that involve compiling the library, setting up the link paths, etc. Most of the demo apps are written using the amalgamated version, so have a look through their source code for examples of how to do this.