PARAPIN - <help> pleeze

Ticha

Ticha

Linux Missionar
ich weiss ja nicht ob es leute von euch gibt, die sich damit auskennen, aber wenn dann hab ich eine Frage.

Also ich habe mir parapin installiert. (soweit ich das verstanden habe , aber ich denke vollständig)

Wenn ich nun eines der Exampes versuche zu kompilieren bekomme ich folgende fehlermeldung:

Code:
/tmp/cciiGn68.o: In function `main':test.c:(.text+0x24): undefined reference to `set_pin'
:test.c:(.text+0x48): undefined reference to `clear_pin'
collect2: ld returned 1 exit status
Kann damit jmd etwas anfangen?

EDIT:
zur Information, ich habe die Option "The C Library Version" aus der Install Anweisung von PARAPIN gewählt.
Die Dateien /usr/local/include/parapin.h und /usr/local/lib/libparapin.a liegen am richtigen Platz.

in einem alternativen Forum habe ich eine hilfgestellung gefunden, die aber zu dem gleichen problem führt.

gcc -o binary -I/usr/local/include -L/usr/local/lib -lparapin setpin.c

wie gesagt, es kommt der gleiche Fehler. :-(

EDIT_END

:hilfe2:
gruss Ticha
 
Zuletzt bearbeitet:
Ubuntu

SRC

/* This file is part of the package "parapin".

The parapin package is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License (LGPL) as published by the Free Software Foundation.

The parapin package is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with parapin; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA


For futher information on the parapin package, please refer to the
project information hosted on Sourceforge --

http://sourceforge.net/projects/parapin/

*/


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include "parapin.h"

int main(int argc, char *argv[])
{
int pin_sequence[] = { 1, 2, 3, 4, 5, 6, 7, 8, 17, 14, 16, 9, -1};
int i;
int prev = 0;
char buf[240];

if (pin_init_user(LPT1) < 0)
exit(0);

pin_output_mode(LP_DATA_PINS | LP_SWITCHABLE_PINS);

i = -1;
while (1) {
if (pin_sequence[++i] == -1)
i = 0;
printf("setting pin %d\n", pin_sequence);
set_pin(LP_PIN[pin_sequence] | prev);
printf("Hit return...\n");
fgets(buf, 5, stdin);
printf("clearing pin %d\n", pin_sequence);
clear_pin(LP_PIN[pin_sequence] | prev);
/* prev = LP_PIN[pin_sequence]; */
} while (0);

}
 
Zuletzt bearbeitet:
Hast du -lparapin dem gcc als Option mitgegeben?

Edit: Aeh ja, hast du. Wenn du aber nur eine .a-Datei hast und keine .so-Datei, musst du das Programm statisch linken. Und wenn du die Header-Datei nicht im Projekt-Ordner liegen hast, solltest du sie in spitze Klammern setzen, so wie die Standard-Header. Das sorgt dafür, dass garantiert auch der Include-Pfad durchsucht wird.
 
Zuletzt bearbeitet:
Bringt der gcc andere Fehler (keine .h gefunden, ...) für mich sieht es so aus, dass er eine Lib nicht findet. Solche Meldungen kommen immer wenn man z.B. bei ncurses -lncurses vergisst.
 
@theton
das mit dem eckigen klammern hab ich verscuht. damit funzts auch nicht. Und das mit dem verlinken, hab ich nur einmal bei der installtion vom Java-JDK-paket gemacht... damit kenn ich mich jetzt nicht so aus :-I

@root1992
er bringt nur den oben beschriebenen fehler. snst nix. Und das is ja das, was mich so wundert :-I

---

ich versuche demnächst mal mit einer anderen Distribution. Im mom hab ich da Ubuntu Server drauf(platzsparend und easy). Ich werd mal Suse draufziehen. vlt funktioniert das ja unter Suse :-I

einwände?

(Sry dass ich so lange nicht geantwortet habe. Ich lag eine woche Im Krankenhaus)


unter Suse hab ich dasselbe Problem. :-I


EDIT

Ok habe es hinbekommen... war total einfach

"gcc test.c -o add -lparapin"

das wars... und schon compiliert er...


danke nochmal allen die mir geholfen ahben :)
 
Zuletzt bearbeitet:
Parapin Fehlermeldung beim Linken...

Hallo, :hilfe2:
derzeit habe ich ein ähnliches bzw. das gleiche Problem.
Nachdem ich diese Mail im Forum gefunden hatte, habe ich die Zeile in gcc eingegeben und erhielt nur eine Fehlermeldung "Option -o nicht bekannt" oder so...?(
Daher die Frage: Was soll dieser Befehl bewirken - abgesehen davon, daß der Compiler die library findet?
Anscheinend habe ich eine andere Version von gcc? Das System ist neu.
Warum ich versuche zu verstehen, was hier genau eingegeben werden muß, hat folgenden Grund: Meine Installation ist etwas anders.
Verwendet wird gcc unter Anjuta (grafische Oberfläche) und xUbuntu Linux.
Generell arbeitet der Compiler einwandfrei, findet jedoch die Bibliothek von parapin nicht. Mit dem Dateibrowser habe ich überprüft, ob die Dateien am richtigen Ort installiert sind - auch das ist der Fall.

Für eine Antwort wäre ich dankbar, da ich mich mit gcc noch nicht so gut auskenne.
Vielen Dank im Voraus.
Dino
 

Ähnliche Themen

Funktion nicht gefunden

Linker meckert über nicht definierte Funktion

Raspberry Pi custom Kernel

dovecot und postfix Konfiguration Problem

Problem beim Kompilieren (Redhat 5)

Zurück
Oben