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 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    dnes 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    včera 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 30
    13.12. 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    12.12. 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 24
    12.12. 04:33 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:55 | Nová verze

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    12.12. 03:11 | Nová verze

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

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

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (17%)
     (23%)
     (14%)
     (24%)
     (15%)
     (17%)
    Celkem 466 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Dotaz: LibFTDI: Undefined reference

    22.5.2011 19:29 Hrabosh | skóre: 26 | blog: HBlog | Brno
    LibFTDI: Undefined reference
    Přečteno: 572×
    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: 43 | 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.