Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Bibliothek linken(?)

Empfohlene Antworten

Veröffentlicht

Hi,

ich muss mich erst einmal entschuldigen, ich weiß nicht genau, ob linken der richtige begriff ist. *rotwerd*

Auf jeden Fall besteht folgendes Problem: Ich möchte mit meinem gcc Compiler ein Programm compilieren (soweit klingt ja noch alles ganz logisch :D)

Dabei muss ich eine C Bibliothek, die ich per #include im Quelltext eingebunden habe, und die nicht zum Standart-Zeug gehört, dem compiler per

-lNameDerBibo

mitteilen (erfüllt das den Tatbestand des Linkens? *verwirrt bin*)

Nun, leider ist aber die Bibliothek meiner Wahl (COMPLEX.H) eine, die nicht installiert wird, wie andere, sondern einfach "rumliegt".

Weiß vlt. jemand mit welchem Befehl ich die einbinden kann? Wenn ich es auf gewohnte weise versuche, dann wird mir nur mitgeteilt, dass der compiler complex.h nicht in /usr/bin/ld finden kann. :(

Hi,

linken ist schon der richtige Begriff und ja, man macht das mit der Option -l. Allerdings ist die .h nur eine Headerdatei. Dazu muss es noch irgendwo eine entsprechende lib geben. Wo die liegt, weiss ich nicht.

Was heisst denn "einfach rumliegt"?

Moin!

Hi,

ich muss mich erst einmal entschuldigen, ich weiß nicht genau, ob linken der richtige begriff ist. *rotwerd*

Auf jeden Fall besteht folgendes Problem: Ich möchte mit meinem gcc Compiler ein Programm compilieren (soweit klingt ja noch alles ganz logisch :D)

Dabei muss ich eine C Bibliothek, die ich per #include im Quelltext eingebunden habe, und die nicht zum Standart-Zeug gehört, dem compiler per

-lNameDerBibo

mitteilen (erfüllt das den Tatbestand des Linkens? *verwirrt bin*)

Nun, leider ist aber die Bibliothek meiner Wahl (COMPLEX.H) eine, die nicht installiert wird, wie andere, sondern einfach "rumliegt".

Weiß vlt. jemand mit welchem Befehl ich die einbinden kann? Wenn ich es auf gewohnte weise versuche, dann wird mir nur mitgeteilt, dass der compiler complex.h nicht in /usr/bin/ld finden kann. :(

man gcc ;)

Mit -L gibst Du Verzeichnisse an, in denen der Compiler (eigentlich: der Linker) zusätzlich zu den in /etc/ld.so.conf eingetragenen Verzeichnissen nach den mit -l angegebenen Bibliotheken suchen soll.

Wenn Du diese lib also nur selten brauchst: -L

Wenn Du sie häufiger brauchst: in einen der System-Bibliotheks-Pfade schmeißen (z.B. /usr/lib) oder ein eigenes Bibliotheks-Verzeichnis einrichten und in /etc/ld.so.conf eintragen (anschließend ldconfig nicht vergessen!)

Ach ja: und mit -I gibts Du zusätzliche Verzeichnisse an, in denen nach Header Files gesucht wird.

Tut mir Leid, dass ich so lange gebraucht habe, ziemlich viel zu tun!

Danke auf jeden Fall für die ganzen Antworten, dass -I klingt ganz nach der Lösung meiner Wahl, ich hoffe ich kann bald positives berichten.

Danke auch übrigens für den hinweis auf Unterschied: HeaderFile -> Bilbliothek, dass muss ich mir unbedingt genauer anschauen. :)

Danke auch übrigens für den hinweis auf Unterschied: HeaderFile -> Bilbliothek, dass muss ich mir unbedingt genauer anschauen. :)

Keine schwarze Magie, dadurch wird einfach die Signatur (Deklaration, Schnittstelle) einer Funktion bzw. Bibliothek von ihrer Implementierung getrennt. Die Signatur steht im Header-File, die Implementierung (der Funktionsrumpf) in der Library. Die Schnittstelle einer Bibliothek hat oft eine längere Lebensdauer als ihre Implementierung, so kann letztere also optimiert werden, ohne von der Bibliothek abhängige Anwendungen ändern zu müssen.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.