Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
1

Не работает sfml в релизной конфигурации (VS2015)

27.11.2015, 13:25. Показов 3773. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Создаю проект с использованием библиотек sfml. Подключал все по инструкции с офф. сайта. В режиме дебага все работает, в релизе нет(библиотеки в проект\свойства\компоновщик\ввод я менял, то есть для дебага стояло sfml-xxx-d.lib, для релиза sfml-xxx.lib, для дебага работает и так и так, а для релиза никак).
Поискал на форумах, там советовали менять библиотеку времени выполнения, перепробовал все варианты, ничего не помогло
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2015, 13:25
Ответы с готовыми решениями:

В VS2015 не работает fstream
Подключаю файл fstream, но при создании объекта fstream fin("in.bin", ios::binary); Компилятор...

Ничего не работает в debug конфигурации, но работает в release
Что делать, если в visual studio, при компилировании в debug, компилятор выдаёт ошибку, при том что...

Не работает SFML
Debug.

Не работает SFML на Code::Blocks
Debug.

12
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
27.11.2015, 14:37 2
В кометах к видео можно найти правильный ответ
https://www.youtube.com/watch?v=CVYjVCuPuY4

Я заменил
sfml-graphics-s-d.lib
sfml-window-s-d.lib
sfml-system-s-d.lib
sfml-audio-s-d.lib

на

sfml-graphics.lib
sfml-window.lib
sfml-system.lib
sfml-audio.lib

и закинул

sfml-graphics-2.dll
sfml-window-2.dll
sfml-system-2.dll

в паку с exe-шником своего проекта(обычно он в папке Debug)

dll файлы взял из папки bin, которая лежит в архиве SFML

и еще я не ставил SFML_STATIC в настройках препроцессора

Использую Visual Studio 2013 и сборку Visual C++ 10 (2010) - 32 bits (SFML)
Надеюсь хоть кому-то это поможет
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
28.11.2015, 21:06  [ТС] 3
Сделал. С одной стороны помогло: проект компилируется и запускается, с другой - нет: теперь возникает ошибка:
Вызвано исключение по адресу 0x7123DBF4 (vcruntime140.dll) в z.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x002D1000.
При этом при дебаге все нормально
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
28.11.2015, 21:21 4
1) Версии библиотек должны быть релизные
2) Версии библиотек должны быть собраны под Ваш компилятор (желательно вообще самому собрать, там делов на полчаса).
3) Может быть код содержит ошибки
4) Все возвращаемые значения нужно проверять.
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
28.11.2015, 22:02  [ТС] 5
Библиотеки релизные.
Можете подсказать как собрать?
Ошибок нет, тк в дебаге работает
Что значит проверять?
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
28.11.2015, 22:07 6
Цитата Сообщение от beloid Посмотреть сообщение
Ошибок нет, тк в дебаге работает
это ни о чем не говорит.
Цитата Сообщение от beloid Посмотреть сообщение
Что значит проверять?
функции, как правило, возвращают что-то, что может свидетельствовать о неправильном выполнении.
1
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
28.11.2015, 23:41  [ТС] 7
а можно чуть подробнее?
есть единственная функция, которая возвращает объект типа Sprite (спрайт персонажа)
чем отличается релиз от дебага?
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
29.11.2015, 00:49 8
Цитата Сообщение от beloid Посмотреть сообщение
есть единственная функция, которая возвращает объект типа Sprite (спрайт персонажа)
ну раз код всей программы такой короткий, выкладывайте.
Также параметры сборки.
Цитата Сообщение от beloid Посмотреть сообщение
чем отличается релиз от дебага?
слова разные, например...
1
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
29.11.2015, 20:05  [ТС] 9
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <SFML/Graphics.hpp>
#include <iostream>
 
using namespace std;
using namespace sf;
 
const int PLAYER_WIDTH = 62;
const int PLAYER_HEIGHT = 93;
const float STEP = 0.5;
 
class Player {
private:
    float x, y;
    string skin;
    string login;
    Texture t;
    Sprite s;
 
 
 
public:
    Player(float x, float y, string skin, string login) {
        this->x = x;
        this->y = y;
        this->skin = skin;
        this->login = login;
        t.loadFromFile(skin);
        
        s.setTexture(t);
        s.setTextureRect( IntRect(0,0, PLAYER_WIDTH, PLAYER_HEIGHT) );
        s.setPosition(x, y);
        s.setOrigin(PLAYER_WIDTH / 2, PLAYER_HEIGHT / 2);
    }
 
    Sprite draw(Vector2i mouse) {
 
 
 
        float dx = mouse.x - s.getPosition().x,
            dy = mouse.y - s.getPosition().y,
            rotation = (atan2(dy, dx) * 180 / 3.141 + 90);
 
        s.setRotation(rotation);
 
        s.move(
            0.0,
            -STEP*(int)Keyboard::isKeyPressed(Keyboard::W)
        );
 
        s.move(
            0.0,
            STEP*(int)Keyboard::isKeyPressed(Keyboard::S)
        );
 
        s.move(
            STEP*(int)Keyboard::isKeyPressed(Keyboard::D),
            0.0
        );
 
        s.move(
            -STEP*(int)Keyboard::isKeyPressed(Keyboard::A),
            0.0
        );
 
        return s; 
    }
        
};
 
int main()
{
    RenderWindow Game(VideoMode(800, 600), "Game");
    //RenderWindow Parametres(VideoMode(400, 200), "PARAMETRES");
 
    string skin_r = "images\\1.png";
 
    Player p(400, 300, skin_r,"First");
 
 
    while (Game.isOpen())
    {
 
        Event event;
        while (Game.pollEvent(event))
        {
            if (event.type == Event::Closed)
                Game.close();
        }
 
 
        if (Game.hasFocus()) {
 
            Game.clear();
            Game.draw(p.draw(Mouse::getPosition(Game)));
            Game.display();
            //Parametres.clear();
            //Parametres.display();
        }
 
 
 
 
    }
 
    return 0;
}
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
29.11.2015, 20:43 10
beloid, параметры сборки (в т.ч. библиотеки, подхватываемые линкером) какие?
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
29.11.2015, 20:49  [ТС] 11
Croessmah, а где их посмотреть?)
0
Неэпический
18099 / 10685 / 2061
Регистрация: 27.09.2012
Сообщений: 26,895
Записей в блоге: 1
29.11.2015, 20:58 12
Цитата Сообщение от beloid Посмотреть сообщение
а где их посмотреть?
В не знаете как пользоваться IDE в которой работаете?
0
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 55
30.11.2015, 14:52  [ТС] 13
не то, чтобы не знаю... я не знаю что такое параметры сборки
0
30.11.2015, 14:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2015, 14:52
Помогаю со студенческими работами здесь

Глюки релизной сборки Qt.
Здравствуйте, встречался ли кто нибудь с подобными ситуациями. Ситуация такая: делал делал...

SFML: Как работает setPosition() и setOrigin()?
объясните принцип работы setPosition() setOrigin()?????

Не запускается программа в релизной сборке
Здравствуйте. ситуация следующая: в режиме отладки программа запускается не под криейтером, при...

SFML в C::B пытается что-то найти в D:\sfml-release\ которого нет
Добрый день, вторые сутки пытаюсь подключить SFML библиотеку к C::B. При подключении по мануалу с...


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

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