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 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 1
    včera 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | IT novinky

    Společnost Framework Computer představila novou vylepšenou verzi svého modulárního notebooku Framework Laptop 13 s Intel Core Ultra Series 1, displej s lepším rozlišením a novou webovou kameru. Přímo do Česka jej zatím koupit nelze.

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

    Byla vydána nová verze 2.16 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 2
    28.5. 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 41
    28.5. 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 13
    28.5. 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1000 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník
    AbcLinuxu:/ Blogy / / x /

    8.9.2010 02:03 | x | poslední úprava: 6.10.2018 23:07

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.