• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

SDL für Xcode einrichten?

insanity

Klarapfel
Registriert
06.07.06
Beiträge
277
Hi,

ich versuche jetzt seid ein paar Stunden verzweifelt SDL für Xcode einzurichten. Habe dazu viele Tuts gefunden und in jedem steht das gleich, stellvertretend mal das hier: Link

Ich bekomme das Framework angezeigt, ich hab auch bei der Projektauswahl die SDL Sachen dabei, aber ich bekomme beim compilieren ständig die Meldung das er SDL.h nicht findet. Das kann doch nicht sein. Ich hab schon alles versucht. Da das Framework SDL.framework heißt muss ich sicher wie z.B. auch bei OpenGL.framework mittels

Code:
#include <SDL/SDL.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>

drauf zugreifen oder nicht? Ich hab's auch schon mit dem exakten Pfad auf der Platte versucht, auch kein Erfolg.

Eventuell hat ja jemand eine Idee für mich?

Grüße Daniel
 
Ok es läuft jetzt, obwohl das Tutorial ab Xcode 1.SteinzeitkA klappen soll ging's bei mir mit 3.0 jedenfalls nicht, ich habe jetzt das 3.1.4 und damit klappte es jetzt auf anhieb... :)

Wobei das nicht heißen soll das ich keine Fragen mehr habe... :D

Bisher habe ich immer reinen C++ für die Konsole geschrieben mit den Frameworks für OpenGL und GLUT dabei. Das funktioniert jetzt auch mit SDL ganz prima, aber wenn ich das ganze jetzt mal als "richtiges" Programm haben möchte, wie mache ich das? Habe jetzt erstmal das Standart SDL mit OpenGL Template genommen und einfach mal rumprobiert. Wenn ich für Build and Go Debug auswähle funktioniert's auch, aber wenn ich Release wähle dann klappt nix mehr. :( Gibt's eventuell ein Tutorial wie man sowas richtig macht?

Meine Fehlermeldung habe ich mal als Screenshot angehangen.

Gruß Daniel
 

Anhänge

  • Screen..jpg
    Screen..jpg
    150 KB · Aufrufe: 142

das wird der Fehler sein! Irgendetwas mit der Architektur ist falsch. Ist diese in den build-Settings (Doppelklick auf Target und dann Build) bei beiden configurations gleich?

Gruss ppocket
 
das wird der Fehler sein! Irgendetwas mit der Architektur ist falsch. Ist diese in den build-Settings (Doppelklick auf Target und dann Build) bei beiden configurations gleich?

Gruss ppocket

Hmm, ömm, ja, also, hmm, genau genommen hab ich nicht die leiseste Ahnung und würde mich eventuell freuen falls jemand ein Tutorial kennt in dem generell mal erklärt wird was genau ich machen muss um mein "Programm" zu releasen... :D

Hab derzeit "leider" ;) meine Verlobte bei mir und kann jetzt nicht gucken gehen was du geschrieben hast, werd ich aber am Wochenende nachholen und mich dann noch mal melden. :) Danke jedenfalls schonmal für deinen Beitrag. :)
 
Okay okay, da bin ich wohl ein Wenig zu schnell vorgegangen... aaalso:

Es ist so, dass sich Einiges am Betriebssystem geändert, seit Leopard. Ich nehme jetzt einfach mal still an, dass du Snow Leopard hast, also ist es so:

Die Standardarchitektur bei Leopard war 32bit. Bei Snow Leopard ist es 32/64bit. Dein Framework scheint das Eine nicht zu mögen. Jetzt ist es daran, herauszufinden, welche Architektur das ist.

Du machst das also jetzt mal so:

In der Seitenleiste vom Xcode-Projektfenster siehst du mehrere Kategorien, darunter Targets. Öffne diese und klicke doppelt auf das Element, welches darin ist. Somit kommst du zu den Einstellungen für dieses Target, welches ein Kompilier-Ziel darstellt.

Dann nimmst du den Reiter "Build". Du siehst eine Liste mit verschiedensten Einträgen, welche die Art, wie das Programm erstellt wird, definieren.
Ganz oben siehst du ein PopUp-Menu "Configuration". Dort kannst du wählen, für welche Konfiguration du die Build-Settings sehen/einstellen willst. Es ist wahrscheinlich "Active Configuration" ausgewählt. Standardmässig gibt es zwei vordefinierte Konfigurationen, wie du schon gemerkt hast, Debug und Release. Zwischen den beiden gibts nur minime Unterschiede - eben auch bei der Architekturwahl. Wähle mal nacheinander beide Konfigurationen aus und achte dabei auf die Gruppe "Architectures". Die interessiert dich jetzt. Bei "Architectures" (in der Gruppe "Architectures") steht jetzt wahrscheinlich "Standard (32/64-bit Universal)". Das ist auch ganz gut so und ist eben auch genau die Änderung seit Leopard und wird bei beiden Konfigurationen der Fall sein. Weiter unten findest du die Option "Build Active Architecture Only", welche bei Debug wahrscheinlich ein Häkchen hat und bei Release nicht. Das heisst, bei Debug wird nur die eine (32- oder 64-bit) gewählt. Das ist auch ganz gut so, da du mit Debug ja nur testen willst, was du nur auf deinem Rechner machst. Also reicht die aktive Architektur aus.

Versuche jetzt mal, bei Debug dieses Häkchen rauszunehmen und dann zu compilieren. Kommt der selbe Fehler, wie bei Release raus, wird meine Vermutung richtig sein. Dann ist das Framework nur für das Eine von beiden gedacht. Du kannst rausfinden, für welches, indem du das Häkchen rauslässt und unter "Architectures" mal "32-bit Universal" auswählst. Wenns geht, ists 32-bit, wenn nicht, 64-bit.

Wieso diese ganze Erklärung. Ich denke, du wirst kein Tutorial finden, welches alle möglichen Versionen von Xcode und dessen Einstellungen abdeckt. Das ist immer das Problem bei Tutorials, die sind meistens total veraltet und unter Snow Leopard kannst du kein älteres Xcode installieren - leider.


Ich hoffe, das hat geholfen. Ein Sprung ins kalte Wasser tut immer gut :D

Gruss ppocket
 
Zuletzt bearbeitet:
Hi, Danke für die ausführliche Erklärung, hab den Fehler gefunden. Ich nutze leider noch Leo statt Snow Leo weil meine Verlobte meinte wir hätten ja grade erst ein Update auf Leo gemacht (3 Jahre her oder so? ;) *gg*) und könnten dann ja auf das danach warten... Naja, und ich war zu faul zum diskutieren da ich mit Leo ja auch prima klarkomme. :)

Aber trotzdem war deine Vermutung richtig, bei Debug war 32Bit ausgewählt, bei Release aber PPC i3irgendwas... Hab's dort auch auf 32Bit umgestellt und jetzt geht's. Danke :)

Sprung ins kalte Wasser ist immer gut, so hab ich mir schon vieles selbst beigebracht. Lesen, Googlen, Lesen, noch mehr googlen, try & error, learning by doing, lesen, fluchen... ;)

Das fing mit HTML an, über PHP bis ich dann jetzt mit C++ und nun auch OpenGL angefangen hab. Dazu kommt jetzt halt SDL weil GLUT hab ich für die ersten Schritte genommen aber soll ja dem Untergang geweiht sein... *gg* Ausserdem ist die Einfachheit von SDL prima zum lernen, vorausgesetzt man bekommt es zum laufen... ;)
 
Dann ist das ja super :)

Viel Spass noch beim Lernen, du weisst ja, man lernt nie aus :D

Gruss ppocket

PS: Auch da ist es wieder logisch, dass bei Debug einfach deine aktuelle Architektur steht und bei Release noch die andere, also entweder PPC oder i386, dazu, damit das dann auch - eben - Universal ist. Das heisst jetzt aber weiter, dass dein Programm nur auf i386 - also Intel Rechnern - läuft.