Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »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 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)
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:
libdfmt/include/ libdfmt/ /usr/include/libusb-1.0/
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.
Tiskni
Sdílej:
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.