C include Datei wird nicht gefunden?

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.061
bekomme immer wieder eine Fehlermeldung
Code:
symbol lookup error: /home/xxx/workspace/bla/build/tests/pattern2: undefined symbol: FuncName
in pattern2 ist meine Datei aber includet. Die FuncName Funktion liegt in eine Separate C Datei und wird "normal" mit unclude der header Datei zum Projekt hinzugefügt.
Kennt sich da vielleicht jemand aus, mit so ähnlichen Problem? auf den andere rechner funktioniert es komischerweise.
Mit Linux ist echt nicht zu spassen. Im Win mit C++ bin ich 100x schneller am Proggen... :D

Danke
 
die frage kann man dir erste beantowrten, wenn man weiß, was du da machst.

ich verstehe vor allem nicht was dus schreibst.
was ist pattern2? vor allem um was für einen typ von datei handelt es sich?

der fehler symbol lookup error weist nicht auf einen fehler des compilers sondern des linkers hin, d.h. compilierst du die *.c datei, die die funktion enthält überhaupt mit? und wird die erzeugte objektdatei gelinkt?

z.b.:

gcc -o test pattern2.c funcname.c

wenn in funcname die funktion ist, dann musst du die auch compilieren.

edit: schreib mal genau was und WIE du compilierst, oder womit. bei so wenig info kann man nur den kopf schütteln.
 
Ich benutze ein Projektbezogenes bash file. Diese wird auch mit gcc kompiliert aber mehr kann ich nicht sagen.

zu dem code
Code:
#include "bla.h"
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <time.h>

int main(void)
{
    CODE...
    //Diese Funktion ist aus "bla.h", Funkname gibt einen int zurück.
    //Problem.... fehler tritt genau dann ein wenn ich versuche FuncName aufzurufen.
    printf("%d",FuncName());
    CODE...
}

hier debugger rückgabe
Code:
Stopped due to shared library event
[Thread debugging using libthread_db enabled]
Stopped due to shared library event
[New Thread 0x7ffff668c950 (LWP 20388)]
[New Thread 0x7ffff5e8b950 (LWP 20389)]
Single stepping until exit from function __libc_dl_error_tsd, 
which has no line number information.
[Thread 0x7ffff5e8b950 (LWP 20389) exited]
[Thread 0x7ffff668c950 (LWP 20388) exited]
 
Zuletzt bearbeitet:
Kommt die Fehlermeldung von Compiler oder Linker?
Beim gcc sind mir diese Art Meldungen unbekannt.

Wenn du eine Ausgabe von Debugger präsentierst übersetzt dein Programm doch schon, oder etwa nicht?
Sonst hätte der Debugger doch nichts zu tun.

Kommt die Meldung evtl. von Debugger?
Ist die bla.h ein Header von einer Bibliothek, die dir nicht mit Debugsymbolen zur Verfügung steht?
 
Compilieren läuft Fehlerfrei... was mich ja auch irritiert, da das Fehler im Laufzeit erst vorkommt.

Compiler Fehler heisst ja nur, daß Syntax Fehlerbehaftet ist.

hasse sowas.... wenn die Fehlermeldung keine vernünftige ausgabe hat.
 
du hast immer noch nicht geschrieben, wie und was compiliert wird. da du das von einem skript machen läßt: zeig das script.

und was heißt compilieren geht. fehler erst zur laufzeit? soll das heißen, du bekommst den fehler erst beim starten des schon fertig erzeugten programms?
 
Ja richtig Projekt wird kompiliert ohne probleme. Fehler kommt erst in der laufzeit.

Eventuell hab ich das Fehler gefunden. Es ist Include path zu der Library. ich glaube das dieser einfach falsch eingestellt ist. Kann erst aber später pürfen.
 
ähm compilierst du bla.c als shared lib? dann musst du sie auch in ein verzeichnis packen, welches von ldconfig adminestriert wird, als in ein verzeichnis für bibliotheken.

könntest du vieleciht endlcih mal vollstädnig sagen, was du da machst und unter welchen umständen? das ist hier wie ne quizshow.
 
also ich habe shared lib was mein pattern2 benutzen soll. ich habe angenohmen dass ein richtiger pfad eingetragen ist für pattern2, kann dies aber erst zuhause herausfinden.
eventuell war für das Verzeichnis wo pattern2 ein falscher pfad für die lib angelegt worden, deswegen konnte man meine neue funktionen nicht aufrufen weil die auf den anderen pfad garnicht existieren
 
ich geb's auf. sorry, ich verstehe dich nicht und bekomme keine nennenswerten infos. z.m. ich kann dir so nicht helfen.
 
Zurück
Oben