viele fragen zu meiner abschlußarbeit auf dem mac

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

  • viele fragen zu meiner abschlußarbeit auf dem mac

    hallo leute,

    ich bin ja schon einige zeit in der mac-welt unterwegs, 3 jahre (länger als mit ms), und lese hier öfter mal mit. zu meiner freude verstehe ich immer mehr, vor allem die code-schnipsel von euch.
    das ist auf meine bildung der letzten zeit zurückzuführe. 1 jahr c, und jetzt im halben jahr c++, soweit es ging ansii-conform aber durchs studium leider auf borland, hab mich aber dazu entschlossen mein projekt auf einer neuen ide und meinem bekannten osx zu machen.
    soweit mein status.

    mein abschluß-projekt ist beschossene sache und die elektronik macht auch schon was her.
    ich baue einen scanner der ordentlich für mich knüppeln soll.
    ich nutze für die sensorik meines gerätes den io-warrior40 (wird als hid-device erkannt) von codemercs und ein ccd-modul.

    das führt gleich zu den fragen, die mich zur zeit beschäftigen:

    1.xcode projekt-art:
    meine applikation soll erstmal im terminal seine runden drehen, eine gui sollte später leicht nachrüstbar sein, aber nur, wenns diese bedingung die erstellung der software für das terminal nicht zu sehr erschwert. ich muß ja erstmal was funktionsfertiges liefern, bevor ich mich um mehr kümmere.
    was wähle ich dafür als projekt-art im xcode projekt-assistent am anfang?
    ich hab erstmal mit dem standart c-tool angefangen, ein gefundenes lcd-tool das mir den zugriff auf mein lcd-display ermöglicht verlangt eine foundation (?). ich vermute mal, das eine schließt das andere nicht aus und ich kann meine projekte "aufbohren" ? hab nen guten thread im forum gefunden, der cocoa, carobon usw. eingliedert, aber da ich nicht weiß, was für meine funktionalität gebraucht wird, fällt es mir schwer etwas auszuwählen.
    2.xcode-projekt mit iokit.framework linken:
    laut codemercs soll ich meine software gegen das iokit.framework linken und dann mit den io-warrior funktionen zugriff auf meine hardware erlangen. wie mache ich denn das mit dem linken? ich hab das iokit meinem projekt hinzugefügt und mal probehalber compiliert, es kommt dann der error in einer header, dass carbonsound/carbonsound.h: no such file or directory. carbon.h:33.
    wie läuft es mit dem linken in dieser ide ab, ist es mit dem hinzufügen zum projekt schon getan?
    3. die camera:
    soll per usb verbunden sein, meine software soll sie auslösen und das bild mit einigen attributen abspeichern. ich habe hierzu das open-source-projekt sourceforge.net/projects/webcam-osx gefunden, die viele von osx nicht unterstützte, vom hersteller ohne osx-treiber versehene kameras
    osx zugänglich macht.
    wie kann ich das auslösen? da die kamera ja von osx erkannt sein wird, nimmt mir das system einen teil der arbeit ab? kennt ihr eine kamera, die einigermaßen bezahlbar ist, von osx erkannt wird und eine gute auflösung (1280x1024 oder 1024x768 ) liefert, so daß ich nicht noch mit mac-cam herum experimentieren muß?

    ich hoffe ihr könnt mir unter acht aller meiner bedürfnisse für meine arbeit hilfreiche tips geben und daß ich als mac-programmierer (insofern ich mich so nennen kann) eure gedult nicht überstrapaziere.
    einen schönen abend und schönes wo-e... kiu
    kiu. ivory with tiger - working since 2001
  • RE: viele fragen zu meiner abschlußarbeit auf dem mac

    Original von kiu
    1.xcode projekt-art:
    meine applikation soll erstmal im terminal seine runden drehen, eine gui sollte später leicht nachrüstbar sein, aber nur, wenns diese bedingung die erstellung der software für das terminal nicht zu sehr erschwert. ich muß ja erstmal was funktionsfertiges liefern, bevor ich mich um mehr kümmere.
    was wähle ich dafür als projekt-art im xcode projekt-assistent am anfang?
    ich hab erstmal mit dem standart c-tool angefangen, ein gefundenes lcd-tool das mir den zugriff auf mein lcd-display ermöglicht verlangt eine foundation (?). ich vermute mal, das eine schließt das andere nicht aus und ich kann meine projekte "aufbohren" ? hab nen guten thread im forum gefunden, der cocoa, carobon usw. eingliedert, aber da ich nicht weiß, was für meine funktionalität gebraucht wird, fällt es mir schwer etwas auszuwählen.

    Schau dir doch mal die Core Foundation an, das ist ein nettes C-Framework (Projekttyp "Core Foundation Tool"). Und dann kannste ja später die GUI mit Cocoa oder Carbon machen, das sollte kein Problem sein.

    2.xcode-projekt mit iokit.framework linken:
    laut codemercs soll ich meine software gegen das iokit.framework linken und dann mit den io-warrior funktionen zugriff auf meine hardware erlangen. wie mache ich denn das mit dem linken? ich hab das iokit meinem projekt hinzugefügt und mal probehalber compiliert, es kommt dann der error in einer header, dass carbonsound/carbonsound.h: no such file or directory. carbon.h:33.
    wie läuft es mit dem linken in dieser ide ab, ist es mit dem hinzufügen zum projekt schon getan?

    Mh…ich glaube nicht, dass IOKit Carbon braucht… wie hast du denn das IOKit gelinkt?

    Hoffe, ich konnte helfen
    læng
    "Wales is the land of my fathers. And my fathers can have it." - Dylan Thomas
  • Original von kiu
    also, ich weiß nicht so recht, wie ich linken soll bei xcode. ich hab "add-existing-framwork" gemacht. war's das schon ??


    Ja, das wars eigentlich schon. Dann halt nur noch die Header in die Dateien includen, wo man sie braucht.
    "Wales is the land of my fathers. And my fathers can have it." - Dylan Thomas
  • Ja.

    Wenn du willst, kannst du dir den genauen Ablauf auf der "Kommandozeile" anschauen, indem im Menü Build auf Build Results klickst, dann ads Dreieck nach unten (Details) anklicken. Dort kannst du dann im Mittleren Fenster den Output sehen. Beispiel:

    Quellcode

    1. Checking Dependencies
    2. PBXCp build/Debug/GridView.app/Contents/Info.plist "build/GridView Scrolling.build/Debug/GridView.build/Info.plist"
    3. mkdir "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/Debug/GridView.app/Contents"
    4. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    5. /System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -resolve-src-symlinks /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Info.plist /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app/Contents
    6. PBXCp build/Debug/GridView.app/Contents/PkgInfo "build/GridView Scrolling.build/Debug/GridView.build/PkgInfo"
    7. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    8. /System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -resolve-src-symlinks /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/PkgInfo /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app/Contents
    9. CpResource build/Debug/GridView.app/Contents/Resources/English.lproj/MainMenu.nib English.lproj/MainMenu.nib
    10. mkdir "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/Debug/GridView.app/Contents/Resources/English.lproj"
    11. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    12. /System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -resolve-src-symlinks /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/English.lproj/MainMenu.nib /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app/Contents/Resources/English.lproj
    13. CpResource build/Debug/GridView.app/Contents/Resources/English.lproj/InfoPlist.strings English.lproj/InfoPlist.strings
    14. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    15. /System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -resolve-src-symlinks /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/English.lproj/InfoPlist.strings /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app/Contents/Resources/English.lproj
    16. CompileC "build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.o" "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/main.m" normal ppc objective-c com.apple.compilers.gcc.4_0
    17. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    18. /usr/bin/gcc-4.0 -x objective-c -arch ppc -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -g -O0 -Werror -Wreturn-type -Wunused-variable -fmessage-length=0 -fzero-link -mtune=G5 -mfix-and-continue -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/GridView.hmap -Wall -F/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/include -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/DerivedSources -isysroot /Developer/SDKs/MacOSX10.4u.sdk -c /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/main.m -o /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.o
    19. CompileC "build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.o" "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/GridView.m" normal ppc objective-c com.apple.compilers.gcc.4_0
    20. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    21. /usr/bin/gcc-4.0 -x objective-c -arch ppc -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -g -O0 -Werror -Wreturn-type -Wunused-variable -fmessage-length=0 -fzero-link -mtune=G5 -mfix-and-continue -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/GridView.hmap -Wall -F/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/include -I/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/DerivedSources -isysroot /Developer/SDKs/MacOSX10.4u.sdk -c /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/GridView.m -o /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.o
    22. Building ZeroLink launcher /Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView "(Scrolling)/build/Debug/GridView.app/Contents/MacOS/GridView"
    23. mkdir "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/Debug/GridView.app/Contents/MacOS"
    24. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    25. /usr/bin/gcc-4.0 -o /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app/Contents/MacOS/GridView -arch ppc /System/Library/PrivateFrameworks/ZeroLink.framework/Resources/libZeroLinkAppStub.a -Wl,-all_load -L/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug -F/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug -framework Cocoa -framework ZeroLink -F/System/Library/PrivateFrameworks/ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wl,-x -Wl,-unexported_symbols_list -Wl,/System/Library/PrivateFrameworks/ZeroLink.framework/Versions/A/Resources/ZeroLinkAppStub.nexp -Wl,-sectcreate -Wl,__TEXT -Wl,__zerolink -Wl,/Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.zerolink
    26. Bundlizing "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.ob" "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.o"
    27. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    28. /usr/bin/gcc-4.0 -bundle -arch ppc /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.o -mmacosx-version-min=10.4 -Wl,-twolevel_namespace -Wl,-twolevel_namespace_hints -Wl,-undefined -Wl,dynamic_lookup -Wl,-multiply_defined -Wl,suppress -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/main.ob
    29. Bundlizing "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.ob" "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/GridView Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.o"
    30. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    31. /usr/bin/gcc-4.0 -bundle -arch ppc /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.o -mmacosx-version-min=10.4 -Wl,-twolevel_namespace -Wl,-twolevel_namespace_hints -Wl,-undefined -Wl,dynamic_lookup -Wl,-multiply_defined -Wl,suppress -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/GridView\ Scrolling.build/Debug/GridView.build/Objects-normal/ppc/GridView.ob
    32. Touch "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)/build/Debug/GridView.app"
    33. cd "/Users/Amin/Documents/Objective-C und Cocoa/Views/Projekte/2 GridView (Scrolling)"
    34. /usr/bin/touch -c /Users/Amin/Documents/Objective-C\ und\ Cocoa/Views/Projekte/2\ GridView\ (Scrolling)/build/Debug/GridView.app
    Alles anzeigen
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • also danke euch erstmal leute. ich muß schon sagen, ihr seid von der flotten truppe und xcode ist ja schon irgendwie ziemlich intuitiv :)
    ich komme mit den build results nur bis zum angehängten jpg, denke das liegt daran, daß an der fehlerstelle aufgehört wird zu kompilieren??
    fals ihr noch antworten und tips zu 3. habt wäre ich euch auch sehr dankbar.
    erstmal einen schönen sonntag euch allen
    kiu. ivory with tiger - working since 2001
  • Original von kiu
    hi chris,

    was meinst du mit der prefix header ??
    den begriff hab ich bei borland (meines wissens) noch nicht gehört.

    cu


    Den gibts nicht in deinem Projekt ;) Das ist so ein Header, der dann in alle Dateien gehängt wird, glaub ich.
    "Wales is the land of my fathers. And my fathers can have it." - Dylan Thomas
  • @laeng
    Doch, den gibt es schon. Unter Other Sources, wenn ich mich nicht täusche.

    @klu
    Da es reichllich dämllich wäre, die Systemheader jedes Mal neu zu parsen, erzeugt Xcode bei der ersten Compilierung einen projekt_prefix.pch, wobei pch für "PreCompiled Header" steht. Das sind also sozusagen die Framework-Header halbverdaut.

    Beim ersten Compilieren kannst du das unten in der Statusleiste sehen -- und dich freuen, wie viel Zeit dir dass nächste Mal erspart wird. :)
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Original von kiu
    hi chris,

    was meinst du mit der prefix header ??
    den begriff hab ich bei borland (meines wissens) noch nicht gehört.

    cu


    Wir sind hier auch nicht bei Borland :)
    In den Prefix Header includierst du alles was du in allen Files brauchst. Auch defines. Das wird dann vorkompiliert und steht in jeder Quellcode Datei zur Verfügung.
    Schreib das #include <Carbon/Carbon.h> einfach beim USB Teil rein.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • hey,

    ich habs jetzt. habs umschifft und konnte so erstmal kompilieren.
    es steht ja

    #ifndef __CARBONSOUND__
    #include <CarbonSound/CarbonSound.h>
    #endif

    in der carbon.h, also hab ich #define __CARBONSOUND__ in die iowarriorlib.h eingefügt.
    et voilâ.
    ist aber nicht korrekt gelöst, denn was ist jetzt __CARBONSOUND__ ??
    schönen abend erstmal
    kiu. ivory with tiger - working since 2001
  • hallo tom,

    äh, respekt!! 6:45 uhr nen post zu machen. ich mache an der platine weiter, so daß ich mich bald voll auf die programier-arbeit stürzen kann.
    danke an alle, besonders an mattik.

    schönes wochenende euch allen
    kiu. ivory with tiger - working since 2001