|
12 / 10 / 2
Регистрация: 06.09.2022
Сообщений: 425
|
|
Проблемы с подключением Allegro 5 к DEV C++ 5.1114.06.2026, 13:15. Показов 9113. Ответов 183
Метки нет (Все метки)
Allegro 5 - это библиотека для 2D игр типа SFML только низкоуровневая, решил в ней покопаться, потому что там графика идёт на любой видяхе даже без драйверов.
Не находит библиотеку allegro_image.h ! Где это взять ? У кого то вообще Allegro 5 присоединялась к DEV C++ 5.11 ,,,,,,???
0
|
|
| 14.06.2026, 13:15 | |
|
Ответы с готовыми решениями:
183
Dev-C++, а именно allegro Проблемы с Allegro на MinGW Есть ли разница между подключением статической библиотеки и подключением одного только файла |
| 07.07.2026, 20:12 | |||
0
|
|||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
||
| 07.07.2026, 21:23 | ||
|
0
|
||
| 08.07.2026, 12:30 | ||||
0
|
||||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|
| 08.07.2026, 13:05 | |
|
Igor3D, в серьезных случаях я даже сделал бы не отдельные потоки, а даже отдельные процессы.
Вот, возьмем к примеру Google Chrome. Ты глянь, сколько процессов он создает. - процесс самого браузера - процесс рендера для каждой открытой вкладки ! - процесс GPU - процесс сети и т.д. А почему браузер создает по процессу для каждой открытой вкладки? Потому что, это перестраховка. Если на какой-то вкладке/странице случится глюк и прочее, то чтобы эта вкладка во время своей гибели не убила сам браузер. В случае краша и прочего, уничтожится процесс вкладки, а браузер будет работать дальше. А вот внутри процессов есть уже потоки. А прикинь, ты работаешь в 3d редакторе, при загрузке 3d сцены/модельки случается глюк/краш и весь редактор крашится и ты теряешь работу... В таких глючных редакторах единственное решение это юзать автосохранение с маленьким интервалом. Но фича автосохранения влияет на производительность.
1
|
|
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
|
| 08.07.2026, 13:44 | |
|
Royal_X, современные браузеры стали намного лучше обрабатывают ситуации когда страница потребляет память до упора или уходит в "бесконечный цикл", не вешая при этом ОС/ПК и даже себя.
Но это связанно не только с многопроцессорной архитектурой. Потому что с этой задачей хорошо начали справляться относительно недавно. Ещё что-то придумали/поправили. С загрузкой сцены может быть и часто бывает в играх. Что при загрузке, вылетает игра, и если ты не сохранился... ![]() А ведь можно и с этим справляться. Как минимум дать возможность сохранится. Учитывая современную архитектуру ПК и ОС, боятся потоков/процессов, архаичность, не более.
1
|
|
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
|
| 08.07.2026, 13:59 | |
|
Простой житейский ответ. Никто никому ничего не должен, можешь грузить как хочешь.)
0
|
|
|
12 / 10 / 2
Регистрация: 06.09.2022
Сообщений: 425
|
||||||
| 09.07.2026, 09:38 [ТС] | ||||||
|
Royal_X, вулкан работает медленнее чем Direct X, - это жертва кроссплатформенности !
![]() Добавлено через 1 час 7 минут НЕ РАБОТАЕТ статическая линковка Ни с библиотеками -s Ни с библиотеками -s-d Может надо чтото в makefile.win дописывать ?> Который автоматически создаётся ? в линковщике -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -static-libgcc -static-libstdc++ Проект на релизе, все каталоги прописаны и ничего не работает
Всё, короче можно оставить всё в дебаге и без статика и там всего два DLL от компилятора в папку с проектом закинуть надо ![]() Я то думал он весь компилятор заставит в проект качать
0
|
||||||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|||||||
| 09.07.2026, 10:28 | |||||||
|
Но для статика я указываю прям все зависимости, причем порядок, как ты прописываешь либы, тоже имеет значение. для VS 2022 я указываю эти либы
harfbuzz.lib. Но эту либу разрабы начали юзать с версии 3.1 и наверное они забыли обновить документацию. В любом случае, лучше указать все либы и потом комфортно работать. Даже если ты в своем проекте не используешь все эти либы, от того, что ты их всех укажешь, ничего не случится. Скажем, если боишься, что размер бинарника увеличится, то это не так. При статике в бинарник пойдут только те символы, которые ты действительно используешь.
0
|
|||||||
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
||
| 09.07.2026, 11:09 | ||
|
Вереница зависимостей символов может тянутся далеко. Но на практике, это больше половины либы. А то что неиспользуемые либы не участвуют в линковке, это да. Не по теме: С доступом на форум опять проблемы. Без ВПН никак, дефолтный с браузеров(например Opera) не подходит.
0
|
||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|
| 09.07.2026, 11:27 | |
|
RabbitAttaks, это, кстати, еще одна из причин, почему я не люблю динамическую линковку. Допустим, есть либа на 25 МБ и оттуда тебе лишь нужен один символ. При статике вся 25-мегабайтная либа не пойдет в бинарник. Компоновщик видит, что нужен лишь один символ и затаскивает только этот символ и смотрит дальше, если этот первый символ запросил куски из других символов, то и их затаскивает. И так делает, пока всё нужное не будет выбрано.
Но есть один нюанс. Статик так прекрасно работает, только если либа создана не криво. Если вся либа создана из одного объектного файла, то вся статическая либа пойдет в бинарник. Компоновщик не умеет вырезать куски из объектных файлов. Но, обычно, в приличных библиотеках типа SFML, wxWidgets, Qt и т.д. одна либа (имеется в виду .a / .lib файл) содержит множество .o файлов. Это видно и во время компиляции этих всяких фреймворков, когда множество .cpp файлов сперва компилируется в .o и потом вся группа .o файлов идет в один .a / .lib файл.
0
|
|
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
||
| 09.07.2026, 11:30 | ||
|
0
|
||
|
6315 / 3037 / 1054
Регистрация: 01.06.2021
Сообщений: 11,569
|
|||||||||||||||||||||
| 09.07.2026, 12:08 | |||||||||||||||||||||
|
RabbitAttaks, ради интереса проверил
sfml-graphics-s.lib
С другой стороны, начиная с SFML 3.1 для работы со шрифтами, нужно использовать либу harfbuzz.lib, которая весит 13,6 МБ. По крайней мере, загрузка ttf-шрифта без этой либы уже не получается.
0
|
|||||||||||||||||||||
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
|||
| 12.07.2026, 00:26 | |||
|
Как будто попал в фильм "Тупой и ещё тупее".
0
|
|||
| 12.07.2026, 14:36 | |||
|
Для веба есть асинхронная загрузка для C/C++ с помощью emscripten_async_wget(), что никак не влияет на рисование. На вебе нужно уложиться в 1-3 секунд первой загрузки, потому что, например, согласно исследованию Google 53% пользователей прекращают загрузку веб-приложения, если оно грузятся дольше 3 секунд. Это цитата из статьи с запрещённого в РФ LinkedIn (перевод с английского с помощью Google Translate):
Я будут стараться избегать работы потоками на вебе (Web Workers) до последнего, когда без этого невозможно уже будет, даже для физического движка. Для небольших проектов это не нужно, это добавит огромное количество сложностей и съест много времени на исправление багов, специфичных для многопоточности, и на саму разработку. Сейчас многие современные физические движки, которые собираются в Wasm, поддерживают SIMD, например: Box2D, Jolt Physics, Bullet Physics и т.д. Да, конечно, если на сцене решу сделать разрушающееся здание на Jolt, то update() физического движка может не уложиться в 16 мс между кадрами отрисовки, но пока такое не нужно. Даже для написания своего сервера на C++ для небольшого мультиплеера можно обойтись без потоков, если найти подходящую либу, с которой можно взаимодействовать ассинхронно. Физика по-любому нужная для многих игр, что в 2D, что в 3D. Сейчас мне интересно знакомиться с новым Box3D, который намного намного легковеснее, чем Jolt Physics, и Box3D почти один в один по API, как Box2D v3, что упрощает работу с ним для тех, но работал и работает с Box2D. Box3D на альфа стадии разработки, но пока его на базовом уровне освоишь, он уже не будет альфа. Это видео от разработчика Box3D на YouTube:
0
|
|||
| 12.07.2026, 19:31 | |||
![]() Однако очень может быть что приложение работает только с одной сценой (в данный момент времени). Тогда загрузка сцены в отдельном потоке - только лишние, ненужные заботы как для программиста, так и для юзера, ведь он не может предпринять ничего разумного пока сцена не загрузится (наоборот, надо еще следить чтобы не нагадил). Правильное решение здесь выставить модальный индикатор прогресса загрузки. "Ложный вынос" - очень популярная ошибка. Ах, гуй залип, в поток, в поток это! И побежал выносить. Да еще ИИ подтвердит ![]() Заметим что "вынос в поток" сам по себе скорость не повышает. И создает ложную иллюзию что потоки - да это, мол, "элементарно", "за 2 минуты", "чего их бояться" и.т.п. Ну это пока переписываются книжные примеры
0
|
|||
|
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,416
|
|
| Сегодня, 14:39 | |
|
0
|
|
|
1070 / 991 / 153
Регистрация: 10.08.2015
Сообщений: 5,416
|
|
| Сегодня, 14:58 | |
|
упс
0
|
|
|
19 / 17 / 2
Регистрация: 07.06.2026
Сообщений: 101
|
|
| Сегодня, 15:19 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 15.07.2026
Сообщений: 3
|
|
| Сегодня, 15:28 | |
|
Сколько можно наступать на эти грабли? Dev-C++ нужно похоронить официально. Возьми нормальный clang через winget, иначе так и будешь вечно воевать с отсутствием allegro_image.h.
0
|
|
| Сегодня, 15:28 | |
|
Подключение библиотеки в Dev C++
Подключение в Dev C++ Подключение статической библиотеки в dev c++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|