• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

C externe Library hinzufügen

Brainstar

Erdapfel
Registriert
20.12.08
Beiträge
5
Hallo.
Ich hätte da mal ne kleine Frage. Wir programmieren bei uns anner FH so ein bisschen mit C herum. compiliere halt immer übers terminal, weil wir im Praktikum das auch so gemacht haben. Nun stecke in der Klausurvorbereitung und musste feststellen, dass immer wieder eine externe Numerik Library auftaucht, die mal ne Professorin geschrieben hat. Diese hab ich mir geladen. Jetzt möchte ich diese gerne so in mein system integrieren, dass ich c programme, in denen diese library included wird, compilieren kann. In der FH am rechner ging das übers terminal mit dem befehl "cc program.c -lcnum" wobei "-lcnum" irgendwas mit der library zu tun hat. Ich habe es auch mal probiert die library einfach in den ordner, in dem sich das zu compilierende programm befindet, mit #include "cnum.h" anstatt #include <cnum.h> zu includen... dies ging aber leider nicht. Hoffe jemand kann mir folgen... würde mich sehr freuen, wenn jemand nen Lösungsvorschlag hätte. Vielen dank im voraus
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
Du musst dem Compiler sagen, dass er die (wahrscheinlich) dylib linken muss. Da nützt jedes #include nichts, wobei das natürlich auch nötig ist, damit du die dylib dann nutzen kannst! :)

Wenn du den gcc-compiler benutzt (was ich annehme, da du hier im Mac-Forum schreibst :p), geht das ganz einfach so:

Code:
gcc meinfile.c meinelib.dylib -o MeinProgramm

Du behandelst also die dylib ganz einfach wie eine Datei, welche kompiliert werden soll.

Gruss ppocket
 

Brainstar

Erdapfel
Registriert
20.12.08
Beiträge
5
Danke für die schnelle antwort. Ich hab X-code druf... weiß nicht ob der dann automatisch den gcc compiler nutzt. Hab das bisher immer mit dem befehl cc inner kommandozeile im terminal hinbekommen. aber gcc funzt auch. allerdings hast du was von ner dylib geschrieben. ich hab die header datei, die ich nutzen möchte als static und dynamic vorliegen. weiß leider nicht genau was der unterschied ist... aber ich kann mal die daten aufzählen, die sich in dem ordner befinden:
static:
- CNum.h <- die will ich haben
- libCNum.a

dynamic:
- CNum.h <-oder die
- CNum.dll

hoffe, das wird mit jetzt nicht zum verhängnis, dass ich keine .dylib hab. Wo muss ich welche daten hin kopieren damit ich das kompilieren kann? einfach in den ordner, wo sich mein zu kompilierendes c programm befindet?

gruß
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
cc ist indirekt gcc :p Ich fürchte nur, dass .dll-Dateien aufm Mac nicht funktionieren. Ist eine Windows-Sache!

Versuch mal:

Code:
gcc meinfile.c meinelib.a -o MeinProgramm

vielleicht geht das ja...

Gruss ppocket
 

Brainstar

Erdapfel
Registriert
20.12.08
Beiträge
5
hmmm scheint nicht zu funktionieren... naja trotzdem danke... werd das dann wohl oder übel meine progs am fh rechner ausprobieren müssen. Das mit dll und windows hab ich mir schon irgendwie gedacht... ein grund, warum ich damals zum mac gewechselt bin war, dass die irgendwie alle corrupt waren... hat mir irgendwie angst gemacht und so^^ gott sei dank bin ich jetzt dll frei^^

gruß
 

manromen

Riesenboiken
Registriert
28.01.08
Beiträge
289
Kann es sein das die libCNum.a eine Linux Bibliothek ist und keine OS X ?
Programmierst Du in der FH unter OS X oder Linux?