Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/43: Рейтинг темы: голосов - 43, средняя оценка - 4.95
32 / 32 / 19
Регистрация: 13.07.2011
Сообщений: 140
1

Отсутствует SDL2.dll

31.03.2014, 00:12. Показов 8872. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброй ночи и дня. Решил окунуться в мир геймдева, но сразу же столкнулся с проблемой, а именно: скачал SDL, установил, создал проект, прописал пути к либам, набросал быстренько исходник:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <SDL.h>
#include <iostream>
 
#define WIDTH 640
#define HEIGHT 480
 
int main(int argc, char *argv[])
{
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
        std::cout << "SDL_Init is error " << SDL_GetError() << std::endl;
        return 1;
    }
 
    SDL_Window *win = SDL_CreateWindow("First Game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WIDTH, HEIGHT, SDL_WINDOW_SHOWN);
    if (win == nullptr) {
        std::cout << "SDL_CreatWindow is error " << SDL_GetError() << std::endl;
        return 2;
    }
 
    SDL_Renderer *render = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
    if (render == nullptr) {
        std::cout << "SDL_CreateRenderer is error " << SDL_GetError() << std::endl;
        return 3;
    }
 
    SDL_Surface *bmp = SDL_LoadBMP("res/image/hello.bmp");
    if (bmp == nullptr) {
        std::cout << "SDL_LoadBMP is error " << SDL_GetError() << std::endl;
        return 4;
    }
 
    SDL_Texture *tex = SDL_CreateTextureFromSurface(render, bmp);
    if (tex == nullptr) {
        std::cout << "SDL_CreateTextureFromSurface is error " << SDL_GetError() << std::endl;
        return 5;
    }
 
    SDL_RenderClear(render);
    SDL_RenderCopy(render, tex, NULL, NULL);
    SDL_Delay(2000);
 
    SDL_DestroyTexture(tex);
    SDL_DestroyRenderer(render);
    SDL_DestroyWindow(win);
 
    SDL_Quit();
    return 0;
}
Вроде бы все компилится без ошибок, но при запуске выдает:
"Запуск программы невозможен, так как на компьютере отсутствует SDL2.dll. Попробуйте переустановить программу".
Как не бился, пример выше не хочет запускаться, буду благодарен за объяснения, мне бездарю, что я делаю не так. Заранее спасибо

P.S. Версия SDL 2
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2014, 00:12
Ответы с готовыми решениями:

Отсутствует libstdc++-6.dll и libgcc_s_sjlj-1.dll при компиляции
Открыл на ноутбуке VS 2019, ни одна программа не компилируется, выдает ошибку с отсутствием файлов...

отсутствует dll
Компилирую программу в VS2012. Все работает нормально. Перекидываю на другой компьютер. запуск...

Отсутствует MSVCP120D.dll
Создал проект откомпилировал, взял екзешник с папки дебаг переместил на другой комп запустил и...

Невозможно запустить программу. Отсутствует libiconv-2.dll
Запуск программы невозможен так как на компьютере отсутствует libiconv-2.dll.попробуйте...

8
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
31.03.2014, 00:14 2
Поместите .dll в папку проекта иль путь к ней в path пропишите.
0
32 / 32 / 19
Регистрация: 13.07.2011
Сообщений: 140
31.03.2014, 00:16  [ТС] 3
Помещал, не помогло да и в принципе, все пути прописаны в свойствах проекта
0
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
31.03.2014, 00:23 4
RamonN, а в одну папку с .exe?
По идее, если dll не тот - он, вроде, должен вылетать, а не не видеть
2
32 / 32 / 19
Регистрация: 13.07.2011
Сообщений: 140
31.03.2014, 00:28  [ТС] 5
Цитата Сообщение от MastAKK Посмотреть сообщение
RamonN, а в одну папку с .exe?
По идее, если dll не тот - он, вроде, должен вылетать, а не не видеть
Битый час с этим мучался, везде закидывал длл-ку, вы оказались правы: закинул длл-ку, в папку с exe и заработало. Т.е. получается при создании нового проекта, нужно будет каждый раз в папку с exe кидать? Почему он не ищет по прописанным путям?
0
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
31.03.2014, 00:29 6
RamonN, а пути где прописаны? В Path?
0
32 / 32 / 19
Регистрация: 13.07.2011
Сообщений: 140
31.03.2014, 00:32  [ТС] 7
Цитата Сообщение от MastAKK Посмотреть сообщение
RamonN, а пути где прописаны? В Path?
Свойства проекта -> С/С++ -> Общие -> Дополнительные каталоги включаемых файлов и иже с ними еще парочку путей для include и .lib
0
148 / 139 / 18
Регистрация: 13.10.2012
Сообщений: 592
31.03.2014, 00:34 8
RamonN, попробуйте путь к папке с dll в Path прописать. Когда пропишите, не забудьте перезапустить IDE
0
31 / 31 / 5
Регистрация: 05.02.2013
Сообщений: 245
Записей в блоге: 8
06.04.2014, 21:15 9
Один из вариантов в винду запихать
В кодеблоксе была хитрость. Если запускается из IDE, значит библа должна лежать рядом с проектом. Если запускается скомпилированный exe то библа должна лежать рядом с exe в папке релизов.
А когда положили в виндупапку, не забывайте, что для передачи программы другим людям надо прикладывать рядышком с прогой эту dll.
Изображения
 
0
06.04.2014, 21:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2014, 21:15
Помогаю со студенческими работами здесь

Запуск программы невозможен так как на компьютере отсутствует msvcp140.dll
всем привет. сделал пустой проект. написал #include &lt;fstream&gt; /*файловые потоки*/ #include...

MinGW. При запуске откомпилированной программы вылетает ошибка, что библиотека libgcc_s_dw2-1.dll отсутствует.
Решил освоить этот компилятор, поставил под windows. Пишу банальный хелло ворлд. Пробую...

Запуск программы невозможен так как на компьютере отсутствует libgcc-s-sjlj-1.dll. Попробуйте переустановить программу
Программа не запускается. Вывод: &quot;krest_null.exe&quot;: Загружено:...

MinGW после обновления выдает ошибку "отсутствует libgcc_s_dw2-1.dll"
Здравствуйте! В данный момент я изучаю язык C++ и прохожу различные курсы, которые подразумевают...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru