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

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | Zajímavý projekt

    Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.

    NUKE GAZA! 🎆 | Komentářů: 2
    16.1. 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

    Ladislav Hagara | Komentářů: 2
    16.1. 15:11 | IT novinky

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 15
    16.1. 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    16.1. 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    16.1. 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    15.1. 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (10%)
     (20%)
     (3%)
     (6%)
     (2%)
     (11%)
     (41%)
    Celkem 481 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Makefile statické knihovny v C a QT Creatoru

    20.9.2015 11:13 | Přečteno: 1222× | 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.