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 04:11 | Nová verze

    Byla vydána nová major verze 11.0 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání.

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

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se zapojil do mezinárodní iniciativy vedené americkou agenturou CISA (Cybersecurity and Infrastructure Security Agency) a dalšími partnery, jejímž cílem je stanovit minimální náležitosti pro tzv. Software Bill of Materials (SBOM). Nový dokument přináší praktická doporučení, jak by měl vypadat přehled komponent softwaru a jak s ním v praxi pracovat. SBOM lze

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 03:00 | Nová verze

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.4.0. Výrazně se zlepšilo vykreslování stránek jako lichess.org, Zulip nebo Speedtest.

    Ladislav Hagara | Komentářů: 0
    31.7. 19:22 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na kritické zranitelnosti v produktech VMware: CVE-2026-59309, CVE-2026-59310 a CVE-2026-47876. Zranitelnosti v VMware vCenter umožňují vzdálenému útočníkovi se síťovým přístupem obejít autentizaci a získat neoprávněný přístup k vCenter, případně zneužít directory traversal ke spuštění libovolného kódu na vCenter.

    Ladislav Hagara | Komentářů: 1
    31.7. 18:33 | Bezpečnostní upozornění

    Společnost Coinkite upozorňuje na bezpečnostní chybu svých hardwarových kryptopeněženek Coldcard. Jedná se o kritickou chybu v generování náhodných čísel (RNG). Místo hardwarového generátoru náhodných čísel (TRNG) byl omylem používán softwarový fallback (PRNG).

    Ladislav Hagara | Komentářů: 3
    31.7. 14:11 | Zajímavý projekt

    Představena byla nová linuxová distribuce Shadowfetch Linux. Na rozdíl od mnoha nováčků, které nabízejí převážně jiné téma a výběr softwaru, tato distribuce založená na Debianu Testing s desktopovým prostředím KDE Plasma 6.6, klade lokálně běžící umělou inteligenci do centra svého desktopového zážitku.

    Pinhead | Komentářů: 0
    30.7. 17:22 | Zajímavý projekt

    Max Leiter v roce 2019 zkusil zprovoznit X server na iPadu (iOS). Nyní se k tématu vrátil a s pomocí LLM a balíčkovacích nástrojů Procursus rozběhl desktop s X11 i Waylandem. Jeho balíčky jsou dostupné v repozitáři xiOS.

    |🇵🇸 | Komentářů: 20
    30.7. 13:33 | IT novinky

    Společnost Google Cloud dnes oznámila, že její infrastruktura a služby byly oficiálně zařazeny do Katalogu cloud computingu vedeného Digitální a informační agenturou (DIA). Tato certifikace potvrzuje, že infrastruktura a služby Google Cloud splňují přísné bezpečnostní a regulační požadavky České republiky pro provoz cloudových služeb ve veřejném sektoru.

    Ladislav Hagara | Komentářů: 6
    30.7. 13:11 | IT novinky

    Vůbec poprvé v historii se stát při testování digitálních služeb obrací na širokou veřejnost. Digitální a informační agentura (DIA) a Ministerstvo vnitra zvou občany k zapojení do zátěžového testu eDokladů, které od loňského podzimu prošly optimalizací aplikace a posílením infrastruktury. Test proběhne 13. srpna ve 13:00 a pro jeho úspěch bude potřeba zapojení několika desítek tisíc občanů. Zapojení do testu je zcela dobrovolné a úkol

    … více »
    Ladislav Hagara | Komentářů: 41
    30.7. 13:00 | Nová verze

    FireDragon je webový prohlížeč, doposud založený na Floorpu, jednom z forků Firefoxu s větším důrazem na ochranu soukromí a přizpůsobení uživatelského rozhraní. Spravuje ho člen komunity distribuce Garuda Linux. Nové vydání verze 13 opouští Floorp a přechází přímo na Firefox s patchi z LibreWolfu a vlastními úpravami. Dostupný je také na Flathubu.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2297 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Makefile statické knihovny v C a QT Creatoru

    20.9.2015 11:13 | Přečteno: 1300× | Programování | Výběrový blog | poslední úprava: 20.9.2015 11:13

    Až jednou zase budu potřebovat jednoduchou knihovnu v C (ne ++) v QT projektu a zapomenu jak na to...

    Adresářová struktura

    software/
    ├── libdfmt
    │   ├── include
    │   │   └── devices.h
    │   ├── libdfmt.a
    │   ├── libdfmt.h
    │   ├── obj
    │   │   ├── devices.o
    │   │   └── libdfmt.o
    │   └── src
    │       ├── devices.c
    │       ├── libdfmt.c
    │       ├── libdfmt.c.autosave
    │       └── makefile
    ├── libdfmt.config
    ├── libdfmt.creator
    ├── libdfmt.creator.user
    ├── libdfmt.files
    ├── libdfmt.includes
    ├── Makefile
    ├── software.pro
    └── software.pro.user
    

    Knihovna libdfmt má .c soubory v src/ .o v obj/ a hlavičky include/ Hlavička s exportovanými funkcemi je a knihovna je v kořeni (složka libdfmt)

    Makefile

    Makefile jsme se snažil v rámci svých schopností udělat univerzální. jednoduše předpokládá že každému .c v src odpovídá .o v obj. Každý jeden objekt má v prerekvizitách všechny hlavičkové soubory. To sice není ideální, ale vzhledem k rozsáhlosti projektu je to jedno.

    IDIR =../include
    ODIR=../obj
    NAME=libdfmt
    CC=gcc
    CFLAGS=-Wall -Werror -I$(IDIR) -I/usr/include/libusb-1.0/
    LIBS= -lusb-1.0
    DEPS = ../libdfmt.h $(wildcard $(IDIR)/*.h)
    
    OBJ = $(patsubst %.c,%.o,$(wildcard *.c))
    
    VPATH = $(ODIR) ../
    
    .PHONY: all
    all: static
    
    %.o: %.c $(DEPS)
            mkdir -p $(ODIR)
            $(CC) -c -o $(ODIR)/$@ $< $(CFLAGS)
    
    .PHONY: static
    static: $(OBJ)
            ar rsc ../$(NAME).a $(patsubst %, $(ODIR)/%, $(OBJ))
    
    .PHONY: clean
    clean:
            rm -vf $(ODIR)/*.o *~ core $(INCDIR)/*~ $(NAME).a
    

    (Odsazování je nutné provádět pomocí tabulátorů nikoliv mezer)

    QTcreator

    V případě importu projektu s vlastním makefilem je zbytečné vytvářet multiprojekt. V nápovědě k importování projektu se píše, že se creator použije pouze jako editor a kluci vývojářští se toho drží ve smyslu, že takto nevznikne plnohodnotný projekt, který se dá použít jako závislost k jinému (dá se obejít). Nicméně do adresáře s projektem se vám nasáčkuje pár souborů. Proto jsem při importu vybral složku s projektem o úroveň níž.

    Soubory:

    Aby fungovala buildovací tlačítka creatoru je třeba změnit build directory u projektu na cestu do složky s makefilem (src).Hlavně to upravit u správného projektu.

    Pokud současně píšu jak knihovnu tak další projekt, který ji využívá, je dobré v nastavení druhého projektu přidat jako první bod kompilace volání make knihovny.


    Kritika (zejména konstruktivní) vítána.
    Právo na hrubky, překlepy a absenci čárek vyhrazeno.        

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    20.9.2015 11:45 Mergle
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    To je vsechno? To je cely slavny problem? Takoveho programatora tak dostat, ten by letel na hodinu...
    FoxVK avatar 20.9.2015 12:02 FoxVK | skóre: 1 | blog: Nora linuxáka
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    A co že ti vlastně vadí ? :D
    20.9.2015 17:32 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Osobně bych nasadil CMake a nebabral se s Makefile...
    vlastikroot avatar 20.9.2015 18:32 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    V QtCreatoru bych spis ocekaval qmake.
    We will destroys the Christian's legion ... and the cross, will be inverted
    FoxVK avatar 20.9.2015 19:22 FoxVK | skóre: 1 | blog: Nora linuxáka
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Tak určitě. Ale tady je cílem udělat knihovnu pro ovládání USB FM tuneru a k tomu demonstrační gui. qmake jsem do ní zatahoval nechtěl.
    20.9.2015 20:09 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    No ten cmake by nahradil jak Makefile tak qmake, ale zas na druhou stranu je pravda, že 1) taky má svoje nevýhody a 2) je to závislost (ačkoli to jsou make a qmake taky).
    Václav 20.9.2015 20:38 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Na stranu druhou, pokud už někdo má ve zvyku kompilovat si na počítači balíčky, pravděpodobně už nejen make, ale i cmake a qmake má. Naopak, make vídám čím dál tím méně.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    21.9.2015 00:25 chrono
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Ak má niekto Cmake alebo qmake, tak má, aspoň v Linuxe, na 99% aj make.
    Václav 21.9.2015 06:39 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Myslel jsem tím čistý make využitý v projektu, poslední dobou je to většinou buď qmake nebo cmake.
    Cross my heart and hope to fly, stick a cupcake in my eye!
    20.9.2015 20:42 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Pokud současně píšu jak knihovnu tak další projekt, který ji využívá, je dobré v nastavení druhého projektu přidat jako první bod kompilace volání make knihovny.

    Především je dobré knihovnu a další projekt zcela oddělit a vydávat a kompilovat samostatně. Pak není třeba řešit, že v jednom chcete Make a v druhém něco klikacího.

    16.1.2017 09:57 Hanna
    Rozbalit Rozbalit vše Re: Makefile statické knihovny v C a QT Creatoru
    Very nice post. I just stumbled upon your blog and wanted to say that I have really enjoyed browsing your blog posts 192.168.1.1 192.168.1.1 192.168.1.1 192.168.1.1

    Založit nové vláknoNahoru

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