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í
×
    včera 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 4
    včera 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    7.5. 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (14%)
     (16%)
    Celkem 139 hlasů
     Komentářů: 10, poslední včera 17:35
    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.