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í
×
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 15
    11.7. 00:11 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    10.7. 11:55 | Humor

    Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂

    Ladislav Hagara | Komentářů: 15
    10.7. 02:11 | Nová verze

    Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    10.7. 01:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    10.7. 00:11 | IT novinky

    Instituce státní správy nebudou smět využívat produkty, aplikace, řešení, webové stránky a webové služby poskytované čínskou společností DeepSeek. Na doporučení Národního úřadu pro kybernetickou a informační bezpečnost rozhodla o jejich zákazu vláda Petra Fialy na jednání ve středu 9. července 2025.

    Ladislav Hagara | Komentářů: 8
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 389 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Ruzne lokace C++ knihovny

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