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í
×
    včera 13:33 | Bezpečnostní upozornění

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Zajímavý článek

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

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

    Dotaz: Ruzne lokace C++ knihovny

    4.12.2009 19:35 Jan Koutny
    Ruzne lokace C++ knihovny
    Přečteno: 452×
    Dobry den,

    programuji projekt v C++, ktery pouziva knihovnu libpcrepp. V Makefile na lokalnim stroji mam g++ option
    -lpcrecpp
    
    Knihovnu mam nainstalovanou zde:
    $ locate libpcrecpp.so
    /usr/lib/libpcrecpp.so
    /usr/lib/libpcrecpp.so.0
    /usr/lib/libpcrecpp.so.0.0.0
    
    Preklad probehne bez problemu a vse funguje. Problem je kdyz chci projekt zkompilovat na jinem pocitaci, kde bezi FreeBSD a tam je umisteni zase takove:
    locate libpcrecpp.so
    /home2/local/lib/libpcrecpp.so
    /home2/local/lib/libpcrecpp.so.0
    
    S predchozim Makefilem mi preklad zhavaruje na tom, ze neni nalezena libpcrecpp knihovna. Pokud pridam do makefile toto:
    -lpcrecpp -I/home2/local/include -L/home2/local/lib
    
    Tak to funguje. Jenze je problem, ze program potrebuji kompilovat i pod jinym serverem, kde prvni Makefile zase nefunguje a umisteni knihoven je takove:
    locate libpcrecpp.so
    /usr/local/lib/libpcrecpp.so
    /user/local/lib/libpcrecpp.so.0
    
    Proto by me zajimalo, jestli jde Makefile napsat nejakym jednotnym zpusobem tak, abych nemusel mit pro kazdy server jiny Makefile.

    Odpovědi

    4.12.2009 20:30 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Asi budeš musieť použiť autoconf, cmake, waf... (ten program/skript nájde umiestnenie tých knižníc...)
    4.12.2009 22:34 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Nevím, jestli to ve FreeBSD funguje stejně, ale v Linuxu se to dá řešit takhle:
    pkg-config --libs --cflags libněco
    
    4.12.2009 22:58 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Tady aspoň vidíš, jak nedokonalé je psát si vlastní Makefile (pokud neznáš dokonale jak syntax make, tak odlišnosti překladačů a linkerů na různých platformách). Takže dlouhodobější řešení je určitě použít nějakou nadstavbu (CMake, Scons, autotools atd.).

    Ale když už máš napsaný ten Makefile, který v podstatě funguje, tak je škoda ho vyhodit - tady bych doporučil, aby si v Makefilu měl proměnnou např. LIBDIR, která je defaultně prázdná, ale uživatel ji může na command-line předefinovat. Např. make LIBDIR=/home2/local/lib. Pak v Makefilu otestuješ, jestli je prázdná, a pokud ne, tak přidáš -L$(LIBDIR) do link flagů.
    vim ~/.emacs
    5.12.2009 14:51 Zdenek
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Dobry den, bohuzel neznam zrovna zpusob, jak konkretne ve Vasem pripade takovy Makefile napsat, ale videl jsem napr. v nekterych projektech pomerne bezne reseni, kdy se Makefile rozdeli do vice soubouru. V prvnim (napr. rules.mak) jsou definovana pravidla, ktere prekladace se pouzivaji a jsou zde definovany cesty ke knihovnam ap. Druhy soubor (Makefile) hned na zacatku nacita ten prvni (include rules.mak) a obsahuje konkretni pravidla napr. na preklad, nebo linkovani jisteho objektu, nebo vycisteni projektu ap. Vyhoda takoveho reseni mimo jine spociva v tom, ze muzete mit vice tech souboru s pravidly pro ruzne prekladace/configurace, nebo systemy, nebo muzete takove soubory s pravidly pouzivat pro vice projektu.
    5.12.2009 15:10 l4m4
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    0. Dáš umístění knihovny do nějaké proměnné, která se pak v pravidlech používá. To v každém případě. Níže ji nazývám PCRE_PREFIX.

    1. Použiješ autoconf. To nicméně není celé řešení, protože i autoconfu se v tomto případě musí pomoci, aby tu knihovnu našel, obzvlášť, pokud je v obskurních lokacích jako /home2/local/lib.

    2. Použiješ pcre-config --prefix, aby ti řekl, kde se knihovna nachází. Lze i bez 1:
    PCRE_PREFIX := $(shell pcre-config --prefix)
    
    Normálně by se použil pkg-config nebo alespoň přímo pcre-config --cflags/pcre-config --libs, ale vypadá to, že přímo volby kompilátoru a linkeru umí pcre-config vypsat jen pro C verzi, ne pro C++.

    3. Pokud je pcre-config v tak obskurním místě, že není v PATH, holt si ho tam musíš přidat, nebo na něj aspoň udělat z nějakého normálního místa v PATH symlink.
    6.12.2009 00:25 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    V debianu je (balík libpcre++-dev) soubor /usr/bin/pcre++-config a funguje:
    $ pcre++-config --libs
    -L/usr/lib -lpcre++
    
    6.12.2009 09:30 l4m4
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Ale nic takového není v upstreamu, což znamená, že je to zase pomýlená debianí aktivita...

    Přidávat foo.pc soubory a foo-config skripty do balíku je naprostý nesmysl. Nijak to nezlepší přenositenost (kvůli které ty věci existují), jelikož to není v upstramu, a tudíž ani na ostatních systémech. Ba naopak to zmate vývojáře, kteří mohou nabýt mylné přesvědčení, že se tímto způsobem knihovna dá detekovat.

    Nicméně, podíval jsem se pořádně, a i když pcre++-config vypadá jako výmysl Debianu, tak soubor pro pkg-config nakonec existuje, jmenuje se libpcrecpp.cpp, takže by mělo fungovat
    pkg-config --cflags --libs libpcrecpp
    
    7.12.2009 10:28 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Tak jednak kecáš, pcre++-config.in v originálu libpcre++_0.9.5.orig.tar.gz (jak ho posytuje debian) existuje.

    Jednak, i v debianu pochopitelně funguje taky
    pkg-config libpcrecpp --cflags --libs
    
    Jo, na debian nedám dopustit ;-)
    7.12.2009 11:01 l4m4
    Rozbalit Rozbalit vše Re: Ruzne lokace C++ knihovny
    Aha, takže aby to nebylo tak jednoduchhé, on má Debian ještě navíc vlastní knihovnu prce... Poslední verze je 8.00 (dost nová, v distribucích bývá 7.něco), takže knihovna s verzí 0.9.5 je kdovíco. Mimochodem, ten přebalený a přejmenovaný .orig tarball v Debianu není pristine upstream source, takže jeho obsah není pro diskusi o upstreamu relevantní.

    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.