Форум программистов, компьютерный форум CyberForum.ru

Отсутствует SDL2.dll - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
RamonN
 Аватар для RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
31.03.2014, 00:12     Отсутствует SDL2.dll #1
Всем доброй ночи и дня. Решил окунуться в мир геймдева, но сразу же столкнулся с проблемой, а именно: скачал 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
31.03.2014, 00:14     Отсутствует SDL2.dll #2
Поместите .dll в папку проекта иль путь к ней в path пропишите.
RamonN
 Аватар для RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
31.03.2014, 00:16  [ТС]     Отсутствует SDL2.dll #3
Помещал, не помогло да и в принципе, все пути прописаны в свойствах проекта
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
31.03.2014, 00:23     Отсутствует SDL2.dll #4
RamonN, а в одну папку с .exe?
По идее, если dll не тот - он, вроде, должен вылетать, а не не видеть
RamonN
 Аватар для RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
31.03.2014, 00:28  [ТС]     Отсутствует SDL2.dll #5
Цитата Сообщение от MastAKK Посмотреть сообщение
RamonN, а в одну папку с .exe?
По идее, если dll не тот - он, вроде, должен вылетать, а не не видеть
Битый час с этим мучался, везде закидывал длл-ку, вы оказались правы: закинул длл-ку, в папку с exe и заработало. Т.е. получается при создании нового проекта, нужно будет каждый раз в папку с exe кидать? Почему он не ищет по прописанным путям?
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
31.03.2014, 00:29     Отсутствует SDL2.dll #6
RamonN, а пути где прописаны? В Path?
RamonN
 Аватар для RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
31.03.2014, 00:32  [ТС]     Отсутствует SDL2.dll #7
Цитата Сообщение от MastAKK Посмотреть сообщение
RamonN, а пути где прописаны? В Path?
Свойства проекта -> С/С++ -> Общие -> Дополнительные каталоги включаемых файлов и иже с ними еще парочку путей для include и .lib
MastAKK
 Аватар для MastAKK
144 / 135 / 12
Регистрация: 13.10.2012
Сообщений: 586
Записей в блоге: 1
31.03.2014, 00:34     Отсутствует SDL2.dll #8
RamonN, попробуйте путь к папке с dll в Path прописать. Когда пропишите, не забудьте перезапустить IDE
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 21:15     Отсутствует SDL2.dll
Еще ссылки по теме:

C++ Невозможно запустить программу. Отсутствует libiconv-2.dll
Отсутствует MSVCP120D.dll C++
C++ Подключение SDL2 в проект

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

Или воспользуйтесь поиском по форуму:
Rem_
23 / 23 / 3
Регистрация: 05.02.2013
Сообщений: 243
Записей в блоге: 8
06.04.2014, 21:15     Отсутствует SDL2.dll #9
Один из вариантов в винду запихать
В кодеблоксе была хитрость. Если запускается из IDE, значит библа должна лежать рядом с проектом. Если запускается скомпилированный exe то библа должна лежать рядом с exe в папке релизов.
А когда положили в виндупапку, не забывайте, что для передачи программы другим людям надо прикладывать рядышком с прогой эту dll.
Изображения
 
Yandex
Объявления
06.04.2014, 21:15     Отсутствует SDL2.dll
Ответ Создать тему
Опции темы

Текущее время: 16:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru