|
12 / 10 / 2
Регистрация: 06.09.2022
Сообщений: 436
|
|
Проблемы с подключением Allegro 5 к DEV C++ 5.1114.06.2026, 13:15. Показов 17167. Ответов 257
Метки нет (Все метки)
Allegro 5 - это библиотека для 2D игр типа SFML только низкоуровневая, решил в ней покопаться, потому что там графика идёт на любой видяхе даже без драйверов.
Не находит библиотеку allegro_image.h ! Где это взять ? У кого то вообще Allegro 5 присоединялась к DEV C++ 5.11 ,,,,,,???
0
|
|
| 14.06.2026, 13:15 | |
|
Ответы с готовыми решениями:
257
Dev-C++, а именно allegro Проблемы с Allegro на MinGW Есть ли разница между подключением статической библиотеки и подключением одного только файла |
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,765
|
||
| 16.07.2026, 15:42 | ||
|
0
|
||
|
1071 / 992 / 153
Регистрация: 10.08.2015
Сообщений: 5,447
|
||
| 16.07.2026, 16:26 | ||
|
0
|
||
|
Заблокирован
|
||
| 16.07.2026, 17:05 | ||
|
4.9.9.2 "Bloodshed Dev-C++" (22 февраля 2005; 21 год назад) 5,11 "Orwell Dev-C++" (27 апреля 2015; 11 лет назад) 6.3 "Embarcadero Dev-C++" (31 января 2021; 5 лет назад) Но этот труп ещё долго будут волочить)
0
|
||
| 16.07.2026, 17:45 | ||
|
0
|
||
|
12 / 10 / 2
Регистрация: 06.09.2022
Сообщений: 436
|
||
| 02.08.2026, 10:38 [ТС] | ||
Йа успешно поставил на него НОВЫЙ компилятор TDM-GCC-64.zip ver 10.2 Теперь всё работает лучше чем на VS 2026 ! https://www.youtube.com/watch?v=H0mkGurMGF8 Весит копейки, а тянет всё что угодно ! В общем я решил в SDL2 копаться - там проекты вообще весят по 5 mb ! ![]() Хотя код получается немного длиннее чем на SFML ! У Allegro есть проблема с созданием шрифтов. Там эти проги генерирующие PCX шрифты сделаны на кривой коленке ! ![]() Поэтому у Allegro 4 нет никаких переспектив. И яделал тест по графике там 8 бит на пиксель - это ужасно ! По моему IG делали на чём то другом. ИИ мне наврал !
0
|
||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,765
|
|
| 02.08.2026, 16:55 | |
|
0
|
|
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 02.08.2026, 18:56 | |
|
0
|
|
| 02.08.2026, 22:54 | |||
|
0
|
|||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 02.08.2026, 23:03 | |
|
Да я тоже имел как бы сношение. Но любви не получилось. Мнгогбукоф там писать надо. В глазах рябит от многобукоф. На SFML то же самое, но попроще. Эти компоненты где то с мусорки интернета. (Всю хрень отдельно искать надо.) ============ Предлагали вот так просто плеер в тыщу строк..... SDL + FFMPEG. Я ковырялся.... Четыре тыщи строк... (Не сам писал. Нарыл на гитхабах...) И работает он глючно, хреново.... Ну уж отлаживать четыре тыщи строк, да ну их на хрен.... Секрет?? Легко показать видео... Но ты попробуй синхронизировать звук и видео в разных форматах...
0
|
|
| 02.08.2026, 23:04 | ||
|
0
|
||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
||
| 02.08.2026, 23:30 | ||
|
Я не игродел, как называеться контакт двух спрайтов?
Вот на SFML есть такая функция... А на SDL я удивился, что это надо описать подробно. === (Я вендовоз. У меня десятая венда и visual studio 2017 - 19) Написано 17, но агпрейд до 19. Добавлено через 6 минут Снимает все проблемы описанные вами выше.
0
|
||
| 02.08.2026, 23:33 | |||
SDL_IntersectRect(const SDL_Rect* A, const SDL_Rect* B, SDL_Rect* result) появилась в 2013 году вместе с самым первым релизом SDL 2.0.0Если спросить нейронку, то вот что она может ответить:
1
|
|||
| 02.08.2026, 23:46 | |
|
Но мне функция
SDL_IntersectRect() не нравится, потому что она не универсальная. Она позволяет отслеживать коллизии только для прямоугольников, которые не повёрнутые, а Box2D позволяет определять коллизии не только для повёрнутых прямоугольников, но и объектов любой формы. Вот пример с повёрнутым прямоугольником из моего пошагового руководства: Идентификация объектов на Box2D v3 - использование userData и событий коллизий.Плюс ещё Box2D позволяет задавать трение между героем и стенами, рейкастинг есть и много другое. Box2D работает с любыми графическими библиотеками: SDL, SFML, Allegro, Raylib и т.д. Любыми графическими API: OpenGL, Vulkan, WebGPU, DirectX и т.д. Есть множество портов на другие языки. Box2D используют многие игровые фреймворки (libGDX, например) и игровые движки. Например, Unity использует Box2D и в инспекторе все те же знакомые настройки Box2D.
1
|
|
|
12 / 10 / 2
Регистрация: 06.09.2022
Сообщений: 436
|
|
| 03.08.2026, 22:36 [ТС] | |
|
8Observer8, Проекты в SFML больше весят ( в 3-4 раза !) и DLL библиотек больше надо таскать за проектом. Мне кажется у DSL больше переспектив. Я делал платформер на SFML и на GODOT 4 - щас сравнил 140 mb vs 60 mb ! Писать без движка и ради такого веса проекта - это БРЕД ! Да кстати, я SFML пробовал копилировать в DLL и когда его штку типа Drag and Drop пытался компилировать, CMАKE ошибки выдаёт ! Крч у SFML нет будущего
оБыЧНУю менюху компилировал в DLLДобавлено через 21 минуту Наталья8, библиотеки lib нужны только для компиляции ! Я собрал SDL2 полностью + шрифты + Sound - https://www.youtube.com/watch?v=H0mkGurMGF8 В распаковке весит 23 mb + DEV 5.11 350 mb + последний компилятор 340 mb = 713 Mb ! А VS 2026 весит 4 ГБ МИНИМУМ ! VS 2019 = 2 GB !
0
|
|
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
||
| 03.08.2026, 23:24 | ||
|
Ты чё программист?
0
|
||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 03.08.2026, 23:33 | |
|
0
|
|
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 03.08.2026, 23:34 | |
|
0
|
|
| 04.08.2026, 16:05 | ||
|
Что такое ABI по мнению нейронки
**ABI** (Application Binary Interface, двоичный интерфейс приложения) в C++ — это набор правил, определяющий, как скомпилированный код взаимодействует на уровне бинарных файлов (машинного кода). Если **API** (Application Programming Interface) определяет, *как* код взаимодействует на уровне исходного текста (какие функции и классы вызывать), то **ABI** описывает, *как* этот код представляется в памяти и выполняется процессором после компиляции. --- ### Что именно определяет ABI в C++? В отличие от языка C, который имеет относительно простую и стабильную ABI, C++ добавляет множество сложных языковых конструкций (наследование, виртуальные функции, шаблоны, исключения), из-за чего **единого стандартного ABI для C++ не существует**. ABI конкретной программы зависит от операционной системы, архитектуры процессора и используемого компилятора (например, GCC, Clang или MSVC). Он включает в себя: 1. **Правила вызова функций (Calling Conventions):** * Как передаются аргументы функций (через регистры процессора или через стек). * Кто очищает стек после вызова (вызывающая функция или вызываемая). 2. **Имя манглинг (Name Mangling / Decoration):** * В C++ разрешена перегрузка функций (несколько функций с одинаковым именем, но разными типами аргументов). Чтобы различать их в бинарном коде, компилятор кодирует типы и пространства имен в уникальное имя функции (например, превращает `foo(int)` в нечто вроде `_Z3fooi`). У каждого компилятора свои алгоритмы манглинга. 3. **Выравнивание и размер типов данных (Data Representation):** * Сколько байт занимает `int`, `long`, указатели и т. д. * Как выравниваются поля структур и классов в памяти (padding). 4. **Механизмы объектно-ориентированного программирования:** * **vtable (таблица виртуальных функций):** Как именно устроен указатель на виртуальную таблицу (`vptr`), где она располагается в объекте и каков порядок виртуальных функций в ней. * **Наследование:** Как хранятся подобъекты базовых классов при простом, множественном и виртуальном наследовании. 5. **Обработка исключений (Exception Handling):** * Каким образом генерируются и перехватываются исключения на уровне машинного кода (например, табличные механизмы `Itanium C++ ABI` или структурированная обработка исключений SEH в Windows). --- ### Почему проблемы с ABI важны на практике? * **Смешивание компиляторов:** Если вы скомпилируете статическую или динамическую библиотеку (`.dll` или `.so`) с помощью старой версии GCC, а основную программу соберете с помощью MSVC или свежего Clang, программа может упасть или работать некорректно. Их бинарные представления классов и методы манглинга несовместимы. * **Обновление компилятора:** Иногда разработчики компиляторов меняют ABI для оптимизации (например, в GCC 5 изменилась реализация `std::string` и `std::list` из-за правил C++11 о копировании при записи, что потребовало пересборки зависимостей). ### Как избежать проблем с ABI? 1. **Использовать C-совместимый интерфейс (extern "C"):** Если вы пишете библиотеку, которую будут подключать проекты, собранные другими компиляторами, экспортируемые функции оборачивают в `extern "C"`. Это отключает манглинг имен и приводит ABI к стандартам языка C. 2. **Передавать через границу модулей простые типы (POD):** Избегайте передачи сложных объектов C++ (вроде `std::string`, `std::vector` или собственных классов с виртуальными методами) через границы динамических библиотек. Вместо этого используйте указатели на непрозрачные структуры (`opaque pointers`) или базовые типы. 3. **Собирать всё единым окружением:** В крупных проектах принято собирать все сторонние зависимости из исходного кода тем же самым компилятором и с теми же флагами, чтобы гарантировать совпадение ABI. Лично мне вообще не нравятся графические API любых библиотек и движков. OpenGL намного более универсальный по многим направлениям, что в плане работы на старом железе, что в плане веса, что в плане работы с линейной алгеброй. Самое главное для меня, что SDL на порядки лучше поддерживается на Android и в Emscripten, чем SFML. Следующий мой пример на OpenGL и SDL собирается из одной кодовой базы в .exe, .apk, и .wasm: Запустить демку в браузере - вес wasm-файла всего 2.7 MB (можно посмотреть на вкладке Network в Chrome - Ctrl + Shift + J) и загружается за 1 секунду: GitHub-репозиторий Проект android-project открывается в Android Studio - можно отлаживать по шагам, если подключить Android-устройство по USB-кабелю или Wi-Fi - нужно активировать режим разработчика в настройках Android. На Windows можно открыть CMakeLists.txt в любой среде, которая поддерживает работу с CMake: CLion, Qt Creator, VSCode или KDevelop. Пример загружает два объекта из .glb с помощью библиотеки cgltf. Анимация и скелет загружаются из формата .ozz (получены с помощью встроенного конвертора gltf2ozz) с помощью библиотеки ozz-animation (кстати, она поддерживает смешивание анимаций - blending). Работу со шрифтами и тестами обеспечивает библиотека SDL_ttf. Пример загружает с помощью библиотеки SDL_image изображения формата WebP, которые весят в данном примере в 2.5 раза меньше, чем JPG и в 5.8 раза меньше, чем PNG, при этом у WebP есть альфа-канал, а у JPG альфа-канала нет. Работу с матрицами и векторами обеспечивает библиотека cglm. Используется Dear ImGui для отображения графического интерфейса пользователя. Glad - для инициализации указателей на функции OpenGLEXE собран в статику: Вес EXE в Release-режиме - 12.8 MB. Одно ложное срабатывание из 62 на VirusTotal APK файл весит 7.63 MB в Debug-режиме. Установленный APK-debug на устройстве весит 64 MB. Так выглядит на Android: Бесплатную модель робота с анимацией (Y-Bot) я взял из Mixamo, уменьшив количество полигонов с помощью модификатора Decimate в Blender 5.2
0
|
||
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 04.08.2026, 17:59 | |
|
Системные утилитки пишу. От них польза.
0
|
|
|
638 / 396 / 68
Регистрация: 09.03.2016
Сообщений: 4,357
|
|
| 04.08.2026, 18:06 | |
|
0
|
|
| 04.08.2026, 18:06 | |
|
Подключение библиотеки в Dev C++
Подключение в Dev C++ Подключение статической библиотеки в dev c++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|