@githubtrending · Post #15358 · 23.12.2025 г., 13:00
#cmake CMake-based MinGW-w64 Cross Toolchain https://github.com/shinchiro/mpv-winbuild-cmake
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #239 · 3 мај
Один из самых удобных способов записать данные это использование готовых форматов, такие как JSON или YAML. Из плюсов такого подхода стоит отметить вот что: 🔸 готовый, повсеместно используемый и поддерживаемый формат 🔸 простой и понятный файл, удобочитаемый для человека 🔸 можно легко редактировать в любом текстовом редакторе без специальных программ и библиотек Но есть и минусы 🔹 затраты времени при записи файла (кодирование данных в нужный формат строки) 🔹 затраты времени при чтении файла (декодирование данных в Python объекты) 🔹 размер файла увеличивается из-за разметки данных (скобки, запятые, переносы, отступы...) 🔹 перед записью все данные должны быть помещены в память в полном объёме (не всегда) 🔹 при чтении необходимо считать весь файл в память и только потом декодировать данные Если нужно писать немного данных в несколько файлов, то затраты по времени не ощутимы. Обычно это файлы конфига или какие-либо метаданные. Это отличный вариант под такие задачи. Есть и другой поход к записи файлов - это бинарные файлы. Используется, когда данных достаточно много и никто их не собирается читать глазками😳. 🔸 очень быстрая запись 🔸 чтение значительно быстрей чем JSON, YAML итд 🔸 размер файла значительно меньше, так как нет разметки 🔸 можно записывать данные по мере поступления не загружая всё в память 🔸 можно извлечь любую часть данных независимо Из минусов 🔹 нужно определить свой формат записи данных (если не используете готовую спецификацию определённого формата) 🔹 не получится открыть файл и визуально понять что там записано, а для чтения файла потребуется знать его спецификацию. 🔹 не так-то просто создать такой файл без специальной библиотеки В таком виде удобно записывать большой массив любых однородных данных. Например, мониторинг валютной биржи или кэшированная анимация 3D геометрии. (Это не означает что нельзя записать данные разного типа, просто это будет не так удобно) Представьте себе JPG-картинку. По сути это немного мета-информации и большой массив пикселей. Тоже самое со звуком или видео файлом. Поэтому, если вы попробуете открыть картинку в текстовом редакторе вы увидите что-то вроде такого f15d cd29 a564 4578 ... 09e2 9bc4 a696 1253 ... 84e9 4de1 3b23 c24a ... 2534 5161 28e0 709d ... ... Это и есть записанные байтики. И для их чтения требуется определённый софт который знает что с ними делать. Под каждый тип файла. К чему это я? Читайте в следующем посте... #tricks#basic
Пребарај: #cmake
@githubtrending · Post #15358 · 23.12.2025 г., 13:00
#cmake CMake-based MinGW-w64 Cross Toolchain https://github.com/shinchiro/mpv-winbuild-cmake
Hashtags
@githubtrending · Post #14656 · 01.05.2025 г., 14:00
#cmake The SO-101 robotic arm improves upon the SO-100 with easier assembly, better motors, and redesigned wiring, working seamlessly with the open-source LeRobot library for AI development. You can build it yourself using 3D-printed parts and off-the-shelf components or buy pre-assembled kits, offering an affordable way to experiment with AI-driven robotics through hands-on learning and community collaboration. https://github.com/TheRobotStudio/SO-ARM100
Hashtags
@KbsEcho · Post #689 · 02.01.2026 г., 13:05
enable_language(ASM-ATT) 您猜这行 CMake 的意思是什么? 根据文档, 这似乎显式要求了支持 AT&T 语法的汇编器。 但实际上它只是去尝试寻找 GNU as 而已 (不支持 llvm-mc, clang 等)。 如果环境里没有 GNU as, 您可能被坑到😁 #CMake
Hashtags
@uchuukoukaishi · Post #677 · 10.11.2024 г., 04:43
每次搞 #cmake 都能积累一些新槽点。今天先吐槽一个最基本的:跑命令。(以后再发别的,免得一下把包袱抖完了……) 众所周知cmake有configure,build,install三个phase,那么在这三个phase里怎么执行命令呢? configure: execute_process(COMMAND foo) build: add_custom_command 或 add_custom_target 看着还行,那 install 应该也很简单吧!不然: install: install(CODE "execute_command(COMMAND foo)") 更糟糕的是,这还只是cmake不一致性的冰山一角,别的留待以后再吐槽。 当然,哪怕就这一点到这里槽点还没结束。假设你要glob复制一些build出来的文件,应该怎么做? 首先,把glob放在顶层的最简单的做法是错的,因为它是在configure phase运行的。 file(GLOB ARTIFACTS "*.txt") install(CODE "${CMAKE_COMMAND} -E ${ARTIFACTS} \"${DIR}\"") 那么正确做法确实就是把glob塞到这个CODE字符串里面,于是呢,转义又有得玩了…
Hashtags
@uchuukoukaishi · Post #702 · 31.12.2024 г., 16:22
在一个小项目上第一次试用 #meson 就得到一个大大的惊喜!感觉比 #cmake 好用很多! 以这个「静态链接 submodule 里的 librime」为例: - 你可以直接 import cmake target! - 你可以像 cmake ExternalProject 一样设定 configure options,但同时能拿到完整的 target 信息! - 同时,subproject 会被整合到当前项目构建里(类似 cmake add_subdirectory),所以如果 subproject 里有修改,不需要做任何事,正常构建就可以正确rebuild。而且不会污染外部的变量、 option 和 target 命名空间。 - 在查询 dependency lib 时,可以设定一个 static 参数,用来控制是否优先选择静态库,它的值由 一个全局的参数 --prefer-static 控制,于是你可以一键把所有依赖都静态链接掉 - 静态库中一些对象文件可能会有 constructor 需要 -Wl,--whole-archive,这里只需要 as_link_whole() 创建一个新的 dependency 对象就可以了 - 最后,它可以正确处理所有静态库的依赖(因为可以取出完整的 target 信息),而不需要手动传递被依赖的库。如果用 cmake ExternalProject 构建静态库再链接,就会丢失掉所有相关信息,要手动补全。 虽然图上的这点代码做的事很简单,就是构造一个静态的 librime 再链接到可执行文件里,但在 cmake 里不管怎么做都很麻烦。 ---- 而且还充满了各种贴心的小设计: > Another thing to note is that include_directories adds both the source directory and corresponding build directory to include path, so you don't have to care.
@githubtrending · Post #15247 · 25.10.2025 г., 12:30
#cmake#audio#ios#linux#macos#plugins#sdk#vst3#win32 VST 3 is an improved version of the VST audio plug-in interface. It offers several benefits, including better performance by only processing audio when needed, dynamic input/output configurations, and precise automation. Users can also enjoy a more organized interface and support for advanced audio features like 3D sound. These improvements make it easier for developers to create plugins and for users to work with them in digital audio workstations (DAWs), enhancing overall audio production efficiency. https://github.com/steinbergmedia/vst3sdk
@githubtrending · Post #15567 · 17.03.2026 г., 11:30
#cplusplus#apple_silicon#bsd#c_plus_plus#cmake#floss#game#gplv2#json#linux#lua#macos_app#python#strategy#windows Widelands is a free, open-source real-time strategy game like Settlers II, where you lead a small clan to build roads, gather resources like wood and gold, manage four unique tribes, trade, or fight in single-player campaigns and multiplayer. Download it easily for Windows, Mac, or Linux, or compile from source with simple scripts and tools like CMake on various systems. This lets you enjoy deep, replayable empire-building fun at no cost, anytime with friends or AI. https://github.com/widelands/widelands
@githubtrending · Post #15431 · 23.01.2026 г., 13:30
#cplusplus#3d_engine#arm64#cmake#cplusplus#cpp17#d3d11#directx#directx11#engine#game#game_engine#gamedev#mod#opengl#opensource#sdl#sdl2#stalker#x64#xray_engine OpenXRay is a free, improved version of the X-Ray Engine for S.T.A.L.K.E.R. games like Call of Pripyat and Clear Sky. It adds 64-bit support, higher FPS, bug fixes, modding tools, and runs on Linux, macOS, and more. This benefits you with smoother, more stable gameplay, better performance on modern or non-Windows PCs, and easy access to new mods without changing the classic feel. https://github.com/OpenXRay/xray-16