2010-04-10 3 views
1

J'essaie d'utiliser certaines des fonctions de la bibliothèque /lib/libproc-3.2.6.so dans ma distribution Ubuntu.Utilisation de fichiers de bibliothèque sous Linux

J'ai téléchargé et installé les fichiers d'en-tête et ils sont définis dans mes fichiers source.

Actuellement, cela est tout ce que je suis en train de faire, juste pour commencer ...

proc_t **read_proc = readproctab(0); 

Mais je reçois l'erreur du compilateur suivant:

/tmp/cclqMImG.o: In function `Sysmon::initialise_sysmon()': 
sysmon.cpp:(.text+0x494): undefined reference to `readproctab' 
collect2: ld returned 1 exit status 

Je suis conscient que je » Je fais probablement quelque chose de mal avec la commande que j'utilise pour le compiler, mais en raison du manque d'expérience, je ne suis pas sûr de ce que je fais de mal. Ceci est la commande g ++ j'utilise pour compiler mon fichier cpp:

g++ -o sysmon.o sysmon.cpp `pkg-config --libs --cflags gtk+-2.0` 

Quelqu'un peut-il me donner quelques s'il vous plaît pointeurs là où je vais mal.

Répondre

4

Vous n'êtes pas liez votre exécutable contre libproc (qui est un message d'erreur éditeur de liens).

Essayez d'ajouter -lproc à la commande de l'éditeur de liens.

0

Vous n'êtes pas réellement lié à la bibliothèque que vous souhaitez utiliser, vous incluez simplement ses fichiers d'en-tête, par conséquent, le compilateur se plaindra des références non définies.

Vous pouvez consulter les liens sur les bibliothèques partagées here. Une petite suggestion, commencez à utiliser l'outil de construction SCons, il peut prendre soin de lier aux bibliothèques pour vous, il suffit d'ajouter ceux que vous souhaitez utiliser dans le fichier SConstruct requis par SCons et vous n'avez pas à gâcher à propos des spécificités du compilateur. Vous gagnez également beaucoup d'autres bonnes choses fournies par SCons. C'est fortement recommandé.

+1

Je pense que les systèmes de construction avancés seraient exagérés pour ce qu'il essaie de faire. Mayb utilisant Make serait plus bénéfique pour le débutant. – pmr

0

Ubuntu 17.04

Vous voulez probablement utiliser -lprocps au lieu de -lproc.

Questions connexes