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 15:44 | Bezpečnostní upozornění

    Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »

    vencour | Komentářů: 0
    dnes 15:33 | Nová verze

    Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).

    ʚĭɞ 🍉 | Komentářů: 0
    dnes 15:22 | Nová verze

    Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | Bezpečnostní upozornění

    V implementaci Broadcom 802.11 byla zjištěna chyba ve zpracování WPS/EAP, týká se to SDK od roku 2010. Broadcom podle výzkumníka Quentina Kaisera odmítl CVE přidělit. Modemy Huawei a Technicolor jsou používány i v ČR, v LTE routerech, běžných domácích routerech a firemních přístupových bodech, jejich současný počet a zranitelnost konkrétních verzí však zatím neznáme. Více detailů a demo. GitHub / Broadcom 802.11 SDK Detection Toolkit.

    vencour | Komentářů: 0
    dnes 05:11 | Nová verze

    Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 1
    včera 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 10
    včera 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 11:33 | IT novinky

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 11
    včera 05:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2892 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    Dotaz: Problém s připojením C knihovny do C++

    30.3.2014 18:27 gld17 | skóre: 4 | blog: GLDiuv_blog
    Problém s připojením C knihovny do C++
    Přečteno: 633×
    Dobrý den,

    potřebuji pracovat ve své aplikaci psané v C++ s externí knihovnou, ale mám problém s chybou "undefined reference to .."
    • Stáhnul jsem si dva soubory: pwm.h, pwm.c viz. viz github
    • takto jsem kompiloval: gcc -Wall -c pwm.c

    • vytvořil jsem statickou knihovnu: ar rcs libpwm.a pwm.o
    • Následně jsem ji vložil do projektu Qt creatoru, správnost potvrzuje objevení se pwm.o bo "Build all" ve složce Release projektu
    • když pak napíšu do konzole: g++ -o pwm.o main.o hlasí to několik chyb "undefined reference to .." (jinych ne) přičemž do main.cpp jsem správně zaincludoval pwm.h
    Celé to dělám na Raspberry Pi s Raspianem. Nemůžu už několik hodin zjistit řešení problému :D

    Děkuji za pomoc :-)

    Řešení dotazu:


    Odpovědi

    30.3.2014 18:40 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++
    oprava: zlusil jsem použít i přepínač -static při kompilaci pwm.c, bez výsledku
    Řešení 1× (gld17 (tazatel))
    30.3.2014 19:46 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++
    Tak problem vyresen, postup jsem mel spravne akorat je treba udelat pri includovani hlavicky toto:

    extern "C" { #include "c_pwm/pwm.h" }

    aby bylo receno, ze hlavicka je napsana v C. (?)

    Nechapu proc jsem to musel tak dlouho hledat, vcelku podstatna vec :-/
    30.3.2014 21:26 tertdgd
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++

    Knihovnu je potreba pri sestavovani programu tzv. prilinkovat coz se dela pomoci -l. Ve tvem pripade to bude

    g++ -o pwm main.c -lpwm
    
    31.3.2014 14:14 Radek Isa | skóre: 14
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++
    Rek bych, ze tu knihovnu ani nemusíš vytvářet. Ty si sice vytvoříš knihovnu ale pak ji nepoužiješ. Pokud vyloženě chceš použít tu knihovnu musel by jsi ten soubor s příponou a prekopirovat do standartniho adresáře s knihovnamy /usr/lib nebo /usr/lib64 a hlavicku prekopirovat do standartního adresáře s hlavickama /usr/include. kazdá distribuce to muze mít trochu jinak.

    Máš ješťe jednu možnost vytvořit si adresář se svýmy knihovnamy a adresar s hlavickovymy soubory treba ~/knihovny/include/ ~/knihovny/lib/ ale zde je nutné změnit patřičné proměné aby se při sestavování a spoušťení programu se nasli spravné knihovny.

    v při programování by jsi potom do *.c souboru includoval <pwm> v a v prikazove radce musis pridat prepinac -llibpwm
    31.3.2014 16:12 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++
    To nechapu, jak vytvorim knihovnu a pak ji nepouziju? Ja ji pouzivam zcela realne. Akorat jsem demonstroval volanim g++ z adresare Release rucne, ze neni problem v Qt.

    Nicmene problem je uz vyresen.
    Petr Bravenec avatar 31.3.2014 18:15 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Problém s připojením statické knihovny do C++
    Houbelec. Vytvářet tu knihovnu je pravda tak trochu zbytečné - jestli jde o jeden soubor, dá se klidně připojit do projektu jeho zdrojový tvar, nebo použít .o soubor.

    Pro připojení statické knihovny se nemusí knihovna nikam kopírovat, stačí přepínače

    -I../include-path

    pro překladač a přepínač

    -L../library-path -lpwm

    pro linker (nikoly milně uvedené -llibpwm ;-)

    Dynamické knihovny se dají snadno najít pomocí LD_LIBRARY_PATH, případně nastavením cesty přímo v aplikaci Qt:

    QCoreApplication::addLibraryPath("../library-path");

    Statické knihovny se velmi často používají pro postupné sestavování rozsáhlejších projektů - sestaví se například gui.a, utils.a, database.a a vše linkuje z .a souborů a minima .o souborů, například:

    g++ -o binarka main.o -L../utils utils.a -L?../gui gui.a -L../database database.a

    Dynamické knihovny se dají použít i v rámci jedné aplikace, například pro implementaci plužin (česky plug-in).
    Petr Bravenec - Hobrasoft s.r.o.

    Založit nové vlákno • Nahoru

    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.