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í
×
    21.11. 22:33 | Zajímavý software

    Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.

    Ladislav Hagara | Komentářů: 1
    21.11. 19:33 | Nová verze Ladislav Hagara | Komentářů: 0
    21.11. 13:11 | IT novinky

    Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).

    Ladislav Hagara | Komentářů: 12
    21.11. 06:11 | Komunita

    Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    21.11. 05:55 | Komunita

    První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.

    Ladislav Hagara | Komentářů: 2
    20.11. 22:00 | IT novinky

    Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.

    Ladislav Hagara | Komentářů: 2
    20.11. 21:22 | Nová verze

    Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.

    Ladislav Hagara | Komentářů: 0
    20.11. 12:44 | IT novinky

    Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu

    … více »
    Ladislav Hagara | Komentářů: 4
    20.11. 12:33 | IT novinky

    Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.

    Ladislav Hagara | Komentářů: 0
    20.11. 05:11 | IT novinky

    Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 387 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    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: 337×
    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.