• 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

einfache c librarys

  • Ersteller Ersteller syrinx
  • Erstellt am Erstellt am

syrinx

Gast
hi!
ich hab ein kleines problem mit den standart librarys wie stdio.h oder string.h usw. ich will einen c-code kompilieren den ich im netz gefunden hab (es handelt sich dabei um pstree welches ich in darwin einbinden will), jedoch fehlen sämtliche librarys um den code zu compilieren. ich habe xcode, gcc4.0 und die developer tool für xcode installiert. die google suche hat ergeben dass die libs da sein sollten, wenn die dev tools installiert sind. spotlight findet dieses libs auch nicht auf meinem system. wo bekomm ich denn her? oder hab ich die falschen datein von der installations dvd installiert?

danke!

syrinx
 
hi!
ich hab ein kleines problem mit den standart librarys wie stdio.h oder string.h usw. ich will einen c-code kompilieren den ich im netz gefunden hab
"stdio.h" und "string.h" sind Header und keine Libraries. Die dazu gehörende Library ist die Standard C-Library libc.dylib bzw. libc.a
 
ok danke für den hinweis, das löst mein problem aber leider immer noch nicht..
 
Was genau ist Dein Problem?

Alex
 
mein problem is dass ich keine headerdatein aufm system hab, obwohl ich die developer tool installiert hab. somit kann ich auch keinen c code compilieren weil der compiler nichtmal solche sachen wie zb stdio.h findet. ich hoffe ihr könnt mir da helfen...
 
Mit genau meinte ich, was ist Dein Code, was ist Deine Fehlermeldung?

Kannst Du HelloWorld übersetzen?

Alex
 
also zunaechst mal sollte ich erwahnen dass ich nciht der grosse held im programmieren bin und gerade anfange mit unix auf dem mac zu arbeiten. die darwin version die auf osx 10.4 läuft kennt "pstree" nicht, ein programm mit dem man die laufenden prozesse als tree anzeigen lassen kann. ich hab mir also den quellcode zu diesem programm besorgt und versucht das so einzubinden dass es funktioniert. dazu muss man das erst kompilieren und das binary dann in /usr/bin ablegen. beim compilieren der pstree.c datei kommt aber ganz oben eine reihe von errors die besagen, dass stdio.h, string.h usw nicht gefunden werden können. wie schon gesagt hab ich aber xcode, gcc4.0 und die xcode developer tools installiert, und darin sollten diese header eigentlich enthalten sein wie ich bis jetzt gehört hab. ob HelloWorld geht hab ich nicht versucht, aber höchstwahrscheinlich wird es nicht gehn da diese datein einfach nicht drauf zur verfügung stehen. kann ich die von der inatallations dvd irgendwo installieren oder muss ich die runterladen?
 
Ich hab mir die Sourcen gerade runtergeladen

gcc -O -o pstree pstree.c

Funktioniert problemlos. OS X 10.4, Xode 2.4.x ?

Alex
 
xcod 2.4.1

das kompilieren liefert folgenden output im terminal:

pstree.c:135:19: error: stdio.h: No such file or directory
pstree.c:136:20: error: stdlib.h: No such file or directory
pstree.c:137:40: error: string.h: No such file or directory
pstree.c:142:40: error: unistd.h: No such file or directory
pstree.c:143:39: error: pwd.h: No such file or directory
pstree.c:145:55: error: sys/ioctl.h: No such file or directory


edit: danach kommen natürlich noch ne ganze reihe mehr fehlermeldungen...

ps: was macht -O? ich kann diese option nicht in den man pages finden... nur ganz oben steht was von levels, aber keine ausführliche beschreibung zu dieser option. nur der neugierde wegen...
 
mach mal in Xcode:

File-> new Project -> unter "Command Line Utility" "Standard tool" anwählen und "next" klicken, irgenteinen namen verpassen und dann auf den grünen Pfeil mit Hammer klicken und hier sagen was kommt!
 
Xcode neu installieren. Das klingt nicht gut.

Zu -O:

-O
Optimize. Optimizing compilation takes somewhat more time, and a lot more
memory for a large function.

With -O, the compiler tries to reduce code size and execution time, without
performing any optimizations that take a great deal of compilation time.

-O turns on the following optimization flags: -fdefer-pop -fdelayed-branch
-fguess-branch-probability -fcprop-registers -floop-optimize
-fif-conversion -fif-conversion2 -ftree-ccp -ftree-dce
-ftree-dominator-opts -ftree-dse -ftree-ter -ftree-lrs -ftree-sra
-ftree-copyrename -ftree-fre -ftree-ch -fmerge-constants

-O also turns on -fomit-frame-pointer on machines where doing so does not
interfere with debugging.
 
hab mein file "test" genannt. im den fenster sind drei dateien zu sehn:

main.c
test (in roter schrift)
test.1
 
kann ich xcode einfach nochmal installieren oder sollte ich da vorher was löschen bzw deinstallieren?
 
ne sieht nicht so aus... hab auch ein standart hello world geschrieben dass auch nicht ging... was nach build ausgegeben wird steht 2 pots weiter oben.

es kommt immer der selbe fehler... der compiler findet die header einfach nicht weil die auch irgendwie nicht da sind.
 
Neu installieren. Einfach drüber.

Alex
 
ok ich hab jetzt die developer tools und xcode tools neu installiert bzw aktualisiert... aber xcode selber kann ich auf der dvd nicht finden. gibts das da überhaupt?
 
Xcode findest Du in /Developer/Applications auf Deiner Platte.


KayHH
 
so ich hab wie gesagt jetzt nur nochmal die tools installiert und mal nen blick in /usr/include geworfen... da sind auf einmal ungewohnt viele datein drinnen :D und hello world hat auch funktioniert. ich versuch jetzt nochmal pstree.

vielen danke für euere hilfe soweit!