serielle schnittstelle ansteuern mit c



  • hallo zusammen

    ich bin ziemlich unerfahren in c. ich arbeite zur zeit in einem projekt wo ich über eine serielle schnittstelle gps daten einlesen muss.
    ich habe nun im internet eine headerdatei, cport.h, heruntergeladen inder befehle wie zb comopen() definiert sind. dh befehle zum ansteuern einer seriellen schnittstelle.
    nun erkennt mein programm jedoch diese befehle irgendwie nicht. und ich habe keine ahnung wo das probem liegt.

    zb bei diesem programm:

    #include <stdio.h>
    #include "CPORT.h"

    int main(void)
    {
    COM com;

    com = ComOpen(COM1, B9600, W8|S1|NONE, 1024, 512);

    if(com == NULL)
    {
    printf("konnte nicht geöffnet werden");
    }

    ComClose(com);
    return(0);
    }

    kommt nur die fehlermeldung:

    C:\DOKUME1\DAVIDZ1\LOKALE~1\Temp\ccwLbaaa.o(.text+0x52) In function main': [Linker error] undefined reference toComOpen'
    [Linker error] undefined reference to `ComClose'
    C:\DOKUME1\DAVIDZ1\LOKALE~1\Temp\ccwLbaaa.o(.text+0x52) ld returned 1 exit status

    ich hoffe das mir jemand bei diesem kleinen problem helfen kann. oder weiss vieleicht jemand noch eine einfachere lösung um mit c eine serielle schnittstelle anzusteuern?

    vielen dankt schon jetzt für eure hilfe.

    gruss dave



  • die fehlt wohl noch die 'cport.c' oder 'cport.lib'. in der .h sind nur definitionen, aber nix was code erzeugt...



  • http://tutorial.schornboeck.net/compiler_fehler.htm

    Der Linker findet die entsprechenden Symbole nicht. Sprich du musst dem Linker sagen welche Libraries er linken soll. Beim GCC/MinGW geht das über die -l-Option. Bei vielen IDEs kannst du so etwas über die Projekteinstellungen regeln.



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Compiler-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten