abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:55 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.

    Ladislav Hagara | Komentářů: 10
    včera 11:44 | Zajímavý software

    NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 10:55 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.

    Ladislav Hagara | Komentářů: 0
    6.6. 20:55 | IT novinky

    IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.

    Ladislav Hagara | Komentářů: 0
    6.6. 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 39
    6.6. 01:00 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    6.6. 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    5.6. 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    5.6. 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    8.9.2010 02:18 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Příloha:
    ↑ zip balík příkladu ↑
    8.9.2010 07:59 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Příloha:
    updatovaný zip balík příkladu ↑
    8.9.2010 05:39 ____ | skóre: 15 | blog: _
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake

    Místo

    if((${UNIX}) AND NOT ((${APPLE}) OR (${CYGWIN})))

    by mělo být spíš

    if(UNIX AND NOT (APPLE OR CYGWIN))

    CMake jinak booleany vyhodnocuje blbě.

    8.9.2010 06:00 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    To, co jsi napsal jsem tam původně měl, ale nefungovalo to - házelo to warningy, že ignoruje celou tu AND NOT ... část.
    Minimálně tam musí být všechny ty závorky - ((...) OR (...)) - ačkoli to na první pohled vypadá nesmyslně (to mám odzkoušeno).
    Co se týče toho ${}, tak tam nevím, dokumentace je poněkud kryptická, nicméně jestli jsem to dobře pochopil, ta tvrdí, že if (boobah) bere jako if (${boobah}), ale nepochytil jsem z teho, jestli to platí (i) pro booleany, nebo jen pro ty proměnný, co definici booleanu nevyhovují... No kdyžtak to upravim.
    8.9.2010 07:50 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    No tak jsem si to ověřil pořádně, a zjistil jsem, že na Linuxu mi fungují všechny myslitelné kombinace a na windows fungují při použití ${} pouze s extra závorkami nebo uvozovkami. (Verze CMake totožná). Zajímavá nekonsistence... ;-)

    No každopádně správně bude nejspíš to, co píšeš ty, takže dík za připomínkku a jdu to opravit...
    8.9.2010 08:50 Přemysl
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    set (foo "true")

    Potom se if (foo) vyhodnotí jako pravda a if (${foo}) se vyhodnotí jako ${true}, tedy jako nepravda (true nebylo definováno, má tedy svou výchozí hodnotu nepravdivou). Pokud se tedy nemýlím, ale věřím, že jsem to teď napsal správně.

    8.9.2010 09:16 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Martin Stiborský avatar 8.9.2010 07:18 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake

    Díky za zápisek, záložkuju si to jako "jednou by se mohlo hodit" :)

    Kvík ..
    8.9.2010 09:34 Tomáš
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Mně sa ta přemíra dědičnosti moc nelíbí. Navíc se to nedá použít pro C. Přišlo mi logičtější, jak jsi popisoval způsob v QT. Struktura adresářů by zůstala podobná, jenom se v makefile nastaví cesty.

    Ale když to chceš používat, tak to používej.
    8.9.2010 10:15 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Příloha:
    Ok, pro zájemce teda přikládám modifikaci á la Qt a bez interface. Doufám, že je plně funkční...
    dolik.rce avatar 8.9.2010 10:16 dolik.rce
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Jde to udělat i s jednou třídou Foo - stačí oddělit poctivě deklaraci do Foo.h a definice metod do sys-win/Foo.cpp, sys-unix/Foo.cpp a případně multiplatformní kód do Foo.cpp (aby jsi ho nemusel udržovat na dvou místech). Pak při kompilaci prostě použiješ soubory z příslušného adresáře.

    Problémy nastávají ve chvíli kdy začneš používat templates, které musejí mít metody ve stejném souboru, ale i to se dá řešit.
    8.9.2010 10:32 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    nemusi mit metody ve stejnem souboru, jenom musis zarucit aby ten soubor s metodama byl taky inkludovanej
    8.9.2010 10:48 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    To je prakticky stejné řešení. Jediný rozdíl je, že v tom mém oddělím členy třídy nezávislé a specifické a můžu mít v platformě specifické třídě public prvky viditelné vyšímu kódu a private prvky soukromé pro platformu.
    V tom tvém řešení by také mohl nastat konflikt v konstruktoru - když si nezávislý kód chce něco vytvářet a specifický taky, to by ten specifický musel mít nějakou metodu druhotného konstruktoru, a to už je přehlednější použít buď dědičnost nebo to řešení á la Qt.

    Čili podle mě to záleží hlavně na tom, jak moc složitej SW člověk píše...
    dolik.rce avatar 8.9.2010 11:01 dolik.rce
    Rozbalit Rozbalit vše Re: Multiplatformní kód v C++ s CMake
    Čili podle mě to záleží hlavně na tom, jak moc složitej SW člověk píše...
    Tak to každopádně...

    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.