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:11 | Komunita

    Do 20. února lze hlasovat pro wallpapery pro Ubuntu 26.04 s kódovým názvem Resolute Raccoon.

    Ladislav Hagara | Komentářů: 2
    dnes 02:22 | Nová verze

    Byla vydána lednová aktualizace aneb nová verze 1.109 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.109 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    včera 19:33 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu modulárního otevřeného handheldu Mecha Comet s Linuxem.

    Ladislav Hagara | Komentářů: 3
    včera 14:00 | Humor

    V nedávno zveřejněné kolekci dokumentů souvisejících s kontroverzním finančníkem a kuplířem Jeffrey Epsteinem se překvapivě objevil i referenční manuál unixového shellu Bash, jedná se o verzi manuálu z roku 2005. Aktuální vydání si lze stáhnout ze stránek GNU.

    NUKE GAZA! 🎆 | Komentářů: 14
    včera 13:55 | Nová verze

    The Document Foundation oznámila vydání nové verze 26.2 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs). Vypíchnout lze podporu formátu Markdown.

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

    Co se děje ve zprávách, ví asi každý - válka sem, clo tam, demonstrace na jednu i druhou stranu a bastlíř už má pocit, že se snad ani nic jiného neděje. To by však byl velký omyl a Virtuální Bastlírna je zde jako každý měsíc, aby vytáhla na světlo světa události ze světa vědy a techniky. Připojte se tedy nezávaznému povídání Strahovského MacGyvera! Co se tam bude probírat? PCBWay začalo dělat průhledné plošňáky, MARS končí s výrobou skříněk, FEL

    … více »
    bkralik | Komentářů: 0
    včera 12:11 | IT novinky

    Guvernérka státu New York Kathy Hochul (Demokraté) plánuje novou legislativu, která by měla omezit výrobu 3D tištěných zbraní. Tento návrh zákona zavádí povinnost pro všechny 3D tiskárny prodávané ve státě New York obsahovat 'software' bránící ve výrobě zbraní. Návrh zákona rovněž zakazuje lidem sdílet 'digitální plány zbraní' (blueprinty) bez povolení. Existují důvodné obavy, že se tento nešťastný nápad může šířit do dalších zemí a ovlivnit celý 3D tisk jako takový. Ostatně, s podobnou regulací nedávno přišel i stát Washington.

    NUKE GAZA! 🎆 | Komentářů: 23
    včera 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za prosinec 2025 a leden 2026 (YouTube). Zajímavé, že i v roce 2026 celou řadu problémů vyřeší falšování řetězce User-Agent.

    Ladislav Hagara | Komentářů: 2
    3.2. 20:11 | Komunita

    Bylo rozhodnuto, že Linux From Scratch (LFS) končí s podporou System V init. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů už budou pouze se systemd.

    Ladislav Hagara | Komentářů: 8
    3.2. 17:00 | Nová verze

    Byla vydána nová verze 2026.1.0 "Like a Version" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. Změněno bylo číslování verzí. Předchozí verze byla 2.9.1.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (30%)
    Celkem 759 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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: 349×
    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á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.