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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Daniss1mo
1 / 1 / 0
Регистрация: 27.01.2013
Сообщений: 41
#1

Не могу построить простую программу на SDL - C++

25.06.2014, 21:35. Просмотров 532. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
#include <stdio.h>
#include <SDL.h>
 
int main()
{
    SDL_Init(SDL_INIT_VIDEO);
    return 0;
}
Путь к include и lib указал,пишет такие ошибки:
Предупреждение 1 warning LNK4098: библиотека по умолчанию "msvcrt.lib" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\MSVCRTD.lib(cinitexe.obj) SDL2Game

Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ _SDL_main в функции _main C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\SDLmain.lib(SDL_windows_main.obj) SDL2Game

Ошибка 3 error LNK1120: неразрешенных внешних элементов: 1 C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\Debug\SDL2Game.exe SDL2Game

Что я делаю не так?

Добавлено через 42 минуты
Решено:надо было просто добавить в main (int argc, char **argv)

Добавлено через 5 минут
Новая проблема:
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "Game.h"
 
Game* g_game = 0;
 
int main(int argc, char **argv)
{
    g_game = new Game();
 
    g_game->init("Chapter 1", 100, 100, 640, 580, 0);
 
    while (g_game->running())
    {
        g_game->handleEvents();
        g_game->update();
        g_game->render();
    }
 
    g_game->clean();
 
    return 0;
}
Game.h
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
#ifndef __Game__
#define __Game__
#include "SDL.h"
 
class Game
{
public:
 
    Game();
    ~Game();
 
    bool init(const char* title, int xpos, int ypos, int height, int width, bool fullscreen);
 
    void render();
    void update();
    void handleEvents();
    void clean();
 
    bool running()
    {
        return m_bRunning;
    }
private:
 
    SDL_Window* m_pWindow;
    SDL_Renderer* m_pRenderer;
 
    bool m_bRunning;
};
 
#endif
Game.cpp
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
49
50
51
52
53
54
55
#include "Game.h"
 
bool Game::init(const char* title, int xpos, int ypos, int height, int width, bool fullscreen)
{
    int flags = 0;
    if (fullscreen)
    {
        flags = SDL_WINDOW_FULLSCREEN;
    }
 
    if (SDL_Init(SDL_INIT_EVERYTHING) == 0)
    {
        m_pWindow = SDL_CreateWindow(title, xpos, ypos, height, width, fullscreen);
    }
    else
    {
        
        return false; // SDL init fail
    }
 
    
    m_bRunning = true;
 
    return true;
}
 
void Game::render()
{
    SDL_RenderClear(m_pRenderer);
    SDL_RenderPresent(m_pRenderer);
}
 
void Game::clean()
{
    
    SDL_DestroyWindow(m_pWindow);
    SDL_DestroyRenderer(m_pRenderer);
    SDL_Quit();
 
}
 
void Game::handleEvents()
{
    SDL_Event event;
    if (SDL_PollEvent(&event))
    {
        switch (event.type)
        {
        case SDL_QUIT:
            m_bRunning = false;
        default:
            break;
        }
    }
}
Ошибки:
Ошибка 2 error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Game::Game(void)" (??0Game@@QAE@XZ) в функции _SDL_main C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\main.obj SDL2Game
Ошибка 3 error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Game::update(void)" (?update@Game@@QAEXXZ) в функции _SDL_main C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\main.obj SDL2Game
Предупреждение 1 warning LNK4098: библиотека по умолчанию "msvcrt.lib" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library C:\Users\Шамаев\Documents\Visual Studio 2013\Projects\SDL2Game\MSVCRTD.lib(cinitexe.obj) SDL2Game

Добавлено через 3 минуты
Опять решил.Надо было ; в конструкторе и функции update заменить на {}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2014, 21:35     Не могу построить простую программу на SDL
Посмотрите здесь:

Построить простую фигуру (ромб) с помощью циклов while и do/while - C++
как построить простую фигуру(ромб) с помощью цикла while и do_while?Помогите пожалуйста!!

Не могу найти простую ошибку. Склеивает строки - C++
Привет. Программа выводит всю информацию правильно, но последние две строки не так как нужно. В переменную state записывается почему...

Написать простую программу - C++
Написать программу вывода значений массива больше некоторого числа N.Элементы массива генерируются случайным образом. Число N вводится...

Напишу простую программу на С++ - C++
Тренировка в программировании: написание реальных задач.

Написать самую простую программу, которая выводит системные драйвера и их параметры (мониторинг драйверов) - C++
Добрый день. Подскажите, пожалуйста, как написать самую простую программу, которая выводит системные драйвера и их параметры?

Не могу построить готовый проект - C++
Привет всем! Пытаюсь открыть проект на C++ сделанный на VS 2005 от компании YATE Раздел Source code&gt;Downloadable&gt;Windows: Это...

С математикой плохо, не могу правильно построить выражение - C++
Привет всем, я новичёк в программировании изучаю практикум Павловской и Щупака структурное программирование. И на первом же задании...

Построить N-арное дерево: не могу понять принцип размещения элементов - C++
Здравствуйте, нужно построить n-арное дерево. Алгоритм постоени бинарного мне полностью понятен, но тут не могу сообразить принцип...

Ошибка в приложении sdl - C++
Начинаю разбираться в sdl. Написал фреймворк с графикой. Вижуал студия ошибок не показывает, но при компиляции выдает много ошибок,...

Задание из путяги по SDL - C++
Здравствуйте, подскажите пожалуйста почему у меня обнуляется переменная ok при нажатии на &quot;New game&quot;? #include &lt;stdio.h&gt; #include...

Распространение игр на SDL - C++
Всем доброго времени суток. В университет в качестве курсовой работы нужно написать игру. Впервые работаю с графикой (до этого все...

Подключение SDL.h к проекту - C++
Доброго времени суток, уважаемые форумчане. Я пытаюсь скомпилировать готовый проект вот отсюда:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
25.06.2014, 21:41     Не могу построить простую программу на SDL #2
Так Вы же объявили в классе Game конструктор Game() и метод update()
а их код не написали.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru