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í
×
    28.8. 08:11 | Komunita

    Firma X zaslala předžalobní výzvu vývojáři projektu Nitter (Wikipedia), open-source alternativního frontendu k sociální síti X (ex-Twitter), a provozovatelům instancí jako XCancel, které umožňovaly číst příspěvky bez přihlášení, reklam a javascriptu. Údajně se dopouštějí „sběru dat“. Zdrojový kód Nitteru vývojář archivoval. Vývoj již dříve přerušil v roce 2024 po tehdejším omezení API X. X je dceřiná společnost SpaceXAI Elona Muska, provozující mj. kontroverzního chatbota Grok.

    |🇵🇸 | Komentářů: 18
    28.8. 02:22 | Nová verze

    Bylo vydáno Ubuntu 26.04.1 LTS, tj. první opravné vydání Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 2
    28.8. 02:11 | Zajímavý článek

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2025 (pdf). Incidentů ubylo, sofistikovanost útočníků roste.

    Ladislav Hagara | Komentářů: 0
    28.8. 00:55 | Nová verze

    Open source softwarový stack AMD ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán v nové major verzi 10.0. S ROCm.AI. Přehled novinek v aktualizované dokumentaci.

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

    Finanční skupina Partners se stala minulou neděli obětí kybernetického útoku, při kterém se útočníci dostali k některým osobním údajům klientů. Společnost o tom informovala ve čtvrtek. Ujišťuje, že peníze klientů nejsou v ohrožení. „Kybernetický útok zasáhl část IT infrastruktury naší společnosti. Ihned po zjištění útoku jsme s pomocí externích bezpečnostních odborníků začali intenzivně pracovat na minimalizaci škod. Útočníci se

    … více »
    Ladislav Hagara | Komentářů: 1
    27.8. 03:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 3
    27.8. 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    26.8. 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    26.8. 14:55 | 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 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 7
    26.8. 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2522 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Makefile statické knihovny v C a QT Creatoru

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