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 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
    dnes 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
    dnes 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
    dnes 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ářů: 2
    včera 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Nová verze

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 7
    včera 09:22 | Nová verze

    Monado, tj. multiplatformní open source implementace standardu OpenXR specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro virtuální realitu (VR) a rozšířenou realitu (AR), bylo vydáno ve verzi 25.1.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 02:44 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.107 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.107 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.12. 19:22 | Zajímavý článek

    Pornhub zveřejnil podrobné statistiky za rok 2025. V části věnované zařízením a technologiím se lze dočíst, že 87 % přenášených dat směrovalo na telefony, 2 % na tablety a 11 % na desktopy. Operační systém Linux běžel na 6,3 % desktopů. O 22,4 % více než před rokem. Firefox má na desktopu 8,4 % podíl.

    Ladislav Hagara | Komentářů: 7
    10.12. 13:11 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak dorazte na prosincovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. O čem budou tentokrát strahováci referovat? Téměř každý už si všiml významného zdražení RAM a SSD, jsou zde ale i příjemnější zprávy. Průša uvádí

    … více »
    bkralik | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 456 hlasů
     Komentářů: 19, poslední včera 20:04
    Rozcestník

    Dotaz: Ruzne lokace C++ knihovny

    4.12.2009 19:35 Jan Koutny
    Ruzne lokace C++ knihovny
    Přečteno: 454×
    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.