abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 02:33 | Nová verze

    Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Komunita

    Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Svobodný nemocniční informační systém GNU Health Hospital Information System (HIS) (Wikipedie) byl vydán ve verzi 5.0 (Mastodon).

    Ladislav Hagara | Komentářů: 0
    včera 16:22 | Komunita

    Open source mapová a navigační aplikace OsmAnd (OpenStreetMap Automated Navigation Directions, Wikipedie, GitHub) oslavila 15 let.

    Ladislav Hagara | Komentářů: 0
    včera 11:55 | Zajímavý software

    Vývojář Spytihněv, autor počítačové hry Hrot (Wikipedie, ProtonDB), pracuje na nové hře Brno Transit. Jedná se o příběhový psychologický horor o strojvedoucím v zácviku, uvězněném v nejzatuchlejším metru východně od všeho, na čem záleží. Vydání je plánováno na čtvrté čtvrtletí letošního roku.

    Ladislav Hagara | Komentářů: 30
    1.7. 18:22 | IT novinky

    V uplynulých dnech byla v depu Českých drah v Brně-Maloměřicích úspěšně dokončena zástavba speciální antény satelitního internetu Starlink od společnosti SpaceX do jednotky InterPanter 660 004 Českých drah. Zástavbu provedla Škoda Group. Cestující se s InterPanterem, vybaveným vysokorychlostním satelitním internetem, setkají například na linkách Svitava Brno – Česká Třebová – Praha nebo Moravan Brno – Břeclav – Přerov – Olomouc.

    Ladislav Hagara | Komentářů: 20
    1.7. 13:11 | Nová verze

    Byla vydána nová verze 8.7.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    1.7. 12:22 | IT novinky

    Před 30 lety, k 1. 7. 1995, byl v ČR liberalizován Internet - tehdejší Eurotel přišel o svou exkluzivitu a mohli začít vznikat první komerční poskytovatelé přístupu k Internetu [𝕏].

    Ladislav Hagara | Komentářů: 4
    1.7. 11:33 | Nová verze

    Byla vydána (𝕏) nová verze 7.4 open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (6%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 340 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: LibFTDI: Undefined reference

    22.5.2011 19:29 Hrabosh | skóre: 26 | blog: HBlog | Brno
    LibFTDI: Undefined reference
    Přečteno: 556×
    Zdravím.

    Snažím se zkompilovat example od FTDI pro bit-bang mód USB převodníku FT245.

    Zdroják zde (odstranil jsem znak <> kolem includnutých header souborů, protože se to sem nechtělo vložit):

    /* This program is distributed under the GPL, version 2 */
    
    #include stdio.h
    #include unistd.h
    #ifdef __WIN32__
    #define sleep(x) Sleep(x)
    #endif
    #include ftdi.h
    
    int main(int argc, char **argv)
    {
        struct ftdi_context ftdic;
        int f,i;
        unsigned char buf[1];
    
        if (ftdi_init(&ftdic) < 0)
        {
            fprintf(stderr, "ftdi_init failed\n");
            return EXIT_FAILURE;
        }
    
        f = ftdi_usb_open(&ftdic, 0x0403, 0x6001);
    
        if (f < 0 && f != -5)
        {
            fprintf(stderr, "unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(&ftdic));
            exit(-1);
        }
    
        printf("ftdi open succeeded: %d\n",f);
    
        printf("enabling bitbang mode\n");
        ftdi_set_bitmode(&ftdic, 0xFF, BITMODE_BITBANG);
    
        sleep(3);
    
        buf[0] = 0x0;
        printf("turning everything on\n");
        f = ftdi_write_data(&ftdic, buf, 1);
        if (f < 0)
        {
            fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic));
        }
    
        sleep(3);
    
        buf[0] = 0xFF;
        printf("turning everything off\n");
        f = ftdi_write_data(&ftdic, buf, 1);
        if (f < 0)
        {
            fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic));
        }
    
        sleep(3);
    
        for (i = 0; i < 32; i++)
        {
            buf[0] =  0 | (0xFF ^ 1 << (i % 8));
            if ( i > 0 && (i % 8) == 0)
            {
                printf("\n");
            }
            printf("%02hhx ",buf[0]);
            fflush(stdout);
            f = ftdi_write_data(&ftdic, buf, 1);
            if (f < 0)
            {
                fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f, ftdi_get_error_string(&ftdic));
            }
            sleep(1);
        }
    
        printf("\n");
    
        printf("disabling bitbang mode\n");
        ftdi_disable_bitbang(&ftdic);
    
        ftdi_usb_close(&ftdic);
        ftdi_deinit(&ftdic);
    }
    

    Při pokusu o kompiulace příkazem:

    gcc bitbang.c -o bitbang

    dostanu tohle:
    hrabosh@GentooOnAthlon ~/Aktualni_vyvojovy_mrdnik/USB $ gcc bitbang.c -o bitbang
    /tmp/ccIlZQWy.o: In function `main':
    bitbang.c:(.text+0x15): undefined reference to `ftdi_init'
    bitbang.c:(.text+0x6b): undefined reference to `ftdi_usb_open'
    bitbang.c:(.text+0x89): undefined reference to `ftdi_get_error_string'
    bitbang.c:(.text+0xf5): undefined reference to `ftdi_set_bitmode'
    bitbang.c:(.text+0x12e): undefined reference to `ftdi_write_data'
    bitbang.c:(.text+0x145): undefined reference to `ftdi_get_error_string'
    bitbang.c:(.text+0x1ad): undefined reference to `ftdi_write_data'
    bitbang.c:(.text+0x1c4): undefined reference to `ftdi_get_error_string'
    bitbang.c:(.text+0x292): undefined reference to `ftdi_write_data'
    bitbang.c:(.text+0x2a9): undefined reference to `ftdi_get_error_string'
    bitbang.c:(.text+0x318): undefined reference to `ftdi_disable_bitbang'
    bitbang.c:(.text+0x324): undefined reference to `ftdi_usb_close'
    bitbang.c:(.text+0x330): undefined reference to `ftdi_deinit'
    collect2: ld returned 1 exit status
    
    Nevíte někdo, kde hledat problém?

    Díky !
    To jsem psal já ... to není bordel, to je modulární!

    Odpovědi

    22.5.2011 19:54 chrono
    Rozbalit Rozbalit vše Re: LibFTDI: Undefined reference
    Pri tom kompilovaní chýba niečo ako -lftdi (a teda treba kompilátoru povedať, že sa tam používa aj nejaká knižnica). Je ale možné (nechce sa mi to zisťovať), že FTDI knižnica obsahuje konfiguráciu pre pkgconfig a/alebo skript ftdi_config, takže sa to bude dať urobiť aj lepšie.
    22.5.2011 20:13 Hrabosh | skóre: 26 | blog: HBlog | Brno
    Rozbalit Rozbalit vše Re: LibFTDI: Undefined reference
    Díky, -lftdi pomohlo. Nicméně já jsem si myslel, že to zařídí to #include ftdi.h .... ne ?
    To jsem psal já ... to není bordel, to je modulární!
    vlastikroot avatar 22.5.2011 20:57 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: LibFTDI: Undefined reference
    Include jsou jen hlavičky (názvy funkci atd), pro skompilování se musí přidat i binární kód knihovny (ať už statické - přidá se kód do výsledného souboru, nebo dynamické - přidají se jen odkazy do knihovny).
    We will destroys the Christian's legion ... and the cross, will be inverted
    Pavel Stárek avatar 23.5.2011 10:56 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: LibFTDI: Undefined reference
    Include jen řekne preprocesoru a compileru jak vypadají ty funkce popřípadě různé datové struktury, konstanty atd. Parametr -lftdi řekne linkeru s čím vším má program slinkovat, a parametr -L/nejaky/adresar ještě může upřesnit, kde všude má linker hledat.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.