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 16:00 | Nová verze

    Byla vydána nová verze 2025.4 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í na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 3
    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ářů: 3
    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ářů: 13
    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
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 458 hlasů
     Komentářů: 19, poslední včera 20:04
    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.