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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Список .Проверить на наличие цикла в нем http://www.cyberforum.ru/cpp-beginners/thread1217046.html
Дан список в нем есть цикл , нужно программно проверить надичие в нем цикла // Делаю так пускаю два указателя один идет с шагом один , а втором все время ускоряеться
C++ Vs2013 опять на чёто не понятное рукаеться Есть код по словам автора он работает но в VS2013 крмпелироваться не хочет выдаёт ошибки Ошибка 12 error LNK2019: ссылка на неразрешенный внешний символ _RasDialA@24 в функции "int __cdecl start_vpn(char *,struct HRASCONN__ * *)" (?start_vpn@@YAHPADPAPAUHRASCONN__@@@Z) C:\Users\User\documents\visual studio 2013\Projects\test\testVPN\testVPN\testVPN.obj testVPN Ошибка 13 error LNK2019: ссылка... http://www.cyberforum.ru/cpp-beginners/thread1217040.html
Конструкция "если, то" с использованием классов C++
Всех приветствую. У меня стоит задача написать класс студент, от которого идут наследники "отстающий студент""хороший студент", вот кусок программы в качестве примера: class student { public: student(char*, char*, char*); void show_student(void); private: char name; char group; char uspevaimost;
Не могу найти ошибку, работает не правильно C++
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <time.h> #include "iostream" using namespace std; int Prostoe(int n) // Возвращаем 1 если число простое, в ином случае - 0
C++ Функция класса в потоке http://www.cyberforum.ru/cpp-beginners/thread1217016.html
Здравствуйте, не как не могу запустить функцию класса в потоке. Длею так. прототип void Tcp_Process(); //----------------------------------------------------- TcpServer *q = new TcpServer(); std::thread(std::ref(&q->Tcp_Process)); Не выходит, подскажите как сделать? Можно и из самого класса запустить. (функция не должна быть статической).
C++ Количество корней квадратного уравнения Реализовать функцию, определяющую количество корней квадратного уравнения (целочисленное значение), заданного коэффициентами a, b и c (формальные параметры функции). подробнее

Показать сообщение отдельно
Daniss1mo
1 / 1 / 0
Регистрация: 27.01.2013
Сообщений: 41

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

25.06.2014, 21:35. Просмотров 531. Ответов 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 заменить на {}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru